我正準備參加java考試。請看下面兩個練習(我有解決方案,但解決方案沒有解釋),所以如果有人能檢查我的解釋,那將不勝感激。靜態和動態類型
1)
public interface Sale{}
public abstract class Clothing{}
public class Jacket extends Clothing implements Sale{}
public class LeatherJacket extends Jacket{}
下列哪項是可能的:
Sale var1 = new LeatherJacket();
是可能的,因爲LeatherJacket是外套的子類,夾克實現銷售? (我只是猜測在這裏)。
Sale var2 = new Sale();
不可能。您不能創建接口類型的對象。
Clothing var3 = new Clothing();
不可能。你不能創建一個抽象類的對象。
Clothing var4 = new LeatherJacket();
可能,但爲什麼?
Jacket var5 = new LeatherJacket();
可能,但爲什麼呢?
LeatherJacket var6 = new Object();
不可能,但爲什麼不呢?
謝謝你的詳細答案。所以在第一個中,var1是Sale類型的變量,它存儲了LeatherJacket的對象,對吧?那麼以下也必須是正確的:Sale var7 = new Jacket();? – DerDieDasEhochWas
@DerDieDasEhochWas是的,你對兩個假設都是正確的。如果有幫助,您可以通過單擊解決方案旁邊空心的勾子來接受來自這裏的** one **解決方案,這對您最有幫助。 – user3437460