我正在寻找使用Java进行转换,特别是使用接口进行转换.假设我有一个I定义方法跳转的接口,即:
interface I{
public void jump();
}
Run Code Online (Sandbox Code Playgroud)
另外假设我有3个其他类A,B和C.A实施I.B才不是.但是,C扩展B和实现I.
class A implements I {
public void jump(){
System.out.print("A is jumping");
}
}
class B { }
class C extends B implements I {
public void jump(){
System.out.print("C is jumping");
}
}
Run Code Online (Sandbox Code Playgroud)
现在,如果我尝试将类型的对象分配A给a I,则没有问题,我甚至不需要演员.即:
I i = new A();
Run Code Online (Sandbox Code Playgroud)
没关系,不需要施放.
大概这是因为编译器知道A实现了I.此外,如果我尝试这样做:
A mya = new A();
I i = …Run Code Online (Sandbox Code Playgroud)