MyInt.java:從接口實例分配一個對象到另一接口實例
interface Outer{
void ofoo();
interface Inner {
void ifoo();
}
}
MyClass.java:
class MyInfClass implements Outer, Outer.Inner{
int x;
public void ofoo{
//
}
public void ifoo{
//
}
}
class MyClass{
void testFoo(){
Outer obj = new MyInfClass();
Inner iObj;
//iObj = obj; Tried this and got compilation error
//Out of wild guess I tried the following
iObj = (MyInfClass) obj; //Runs Successfully
iObj.ifoo();
}
}
定義此行爲和是它適用於其它情形一樣
Interface interfaceRef = new SubClass(); // SubClass implements the Interface
SuperClass superClassRef = (SubClass) interfaceRef;
是否有任何其他正確的方法來做到這一點?
創建對象時,最好的辦法是使用類名稱。沒有必要進行類型檢查和轉換:您知道該對象是什麼類型。你創造了它。 – xmjx