當我嘗試與Colorable
接口指向Car
類的對象,而無需使用工具類汽車i未顯示任何編譯錯誤(雖然它顯示運行時錯誤)(問題1)和當我嘗試對班級做同樣的事情,我不會延長車輛等級,並嘗試用車輛類別指示車輛的對象,它立即顯示編譯錯誤。爲什麼?接口參考變量
問題1:
interface Colorable {}
class Vehicle {}
class Car extends Vehicle {}
public class Tester {
public static void main(String[] args) {
Car c=new Car();
Vehicle a = (Vehicle)c;
Colorable i = (Colorable)c;
System.out.println("Successful");
}
}
問題2:
interface Colorable {}
class Vehicle {}
class Car {}
public class Tester {
public static void main(String[] args) {
Car c=new Car();
Vehicle a = (Vehicle)c;
Colorable i = (Colorable)c;
System.out.println("Successful");
}
}
當您輸入問題時,編輯區域旁邊有一個方便的** How to Format **框。值得一讀。在下面還有一個預覽,您可以在其中看到您的問題的樣子,以及編輯區域上方的格式化工具欄。由於這不是你的第一個問題,請在發佈之前花時間清楚地設置事物的格式,而不是依賴像拉胡爾這樣的人爲你做。 –
問題2:由於Car沒有實現該接口,因此不能將c轉換爲Colorable(「Colorable i =(Colorable)c;」)。但是,如果您可以向我們顯示您引用的錯誤輸出,它會非常有幫助。 – tbsalling
也許你會得到至少一個編譯警告有關選中鑄件... –