如果你永遠不會從該類實例化對象,那麼你什麼時候會使用它的構造函數?對不起,如果我以無知的方式離開。我剛剛在我的高中開始上Java課。在Java的抽象類中使用構造函數有什麼意義?
0
A
回答
1
你可以初始化父類中的某些東西,所以也許你需要抽象類中的構造函數。
0
你有一個構造函數,所以子類可以正確初始化它們父類的狀態。
public abstract class Parent {
private final String name;
public Parent(String n) { this.name = n; }
public String getName() { return this.name; }
}
public class Child extends Parent {
public Child(String name) { super(name); }
}
將不會有任何其他的方式來初始化Parent
是private final String name
屬性沒有構造。
+0
謝謝!我現在明白了 – 2014-10-30 23:15:19
1
因爲子類可能會使用它。例如:
public abstract class Foo {
protected String name;
public Foo(String name) {
this.name = name;
}
}
public class Bar extends Foo {
public Bar(String name) {
super(name); //<-- necessary, otherwise it won't compile
}
public Bar() {
super("default name"); // <-- necessary, otherwise it won't compile
}
}
0
那麼你的父類或抽象類通過所有子類或子類存儲公共變量。 這可以更容易地將不同的對象(具有相同的父級)存儲到像ArrayList這樣的集合中。 它還允許您輕鬆操作和對象,而不用擔心其子類中包含的細節。 你通過在子類中調用super()來實例化構造函數。
相關問題
- 1. 抽象類中的構造函數有什麼用處?
- 2. 的Java抽象類的構造函數
- 3. 在Java中爲抽象類創建構造函數有什麼用處?
- 4. 抽象類中的次構造函數的用例是什麼?
- 5. 在構造函數中使用「this」有什麼意義?
- 6. Java:抽象類構造函數和this()
- 7. 抽象類中構造函數的用法是什麼?
- 8. 抽象類中的構造函數?
- 9. 抽象類中的構造函數?
- 10. 使用Java泛型的接口/抽象類的構造函數
- 11. Java - 使用抽象類的構造函數
- 12. 呼叫從抽象類子類構造函數在Java中
- 13. 抽象類的構造函數
- 14. 在C#抽象類中的公共構造函數的實用性是什麼?
- 15. 使用抽象與構造函數
- 16. 抽象類和構造函數
- 17. 抽象類和構造函數
- 18. 抽象類,複製構造函數
- 19. 在Java中聲明默認構造函數有什麼意義嗎?
- 20. 「在抽象類中沒有默認構造函數」
- 21. 在抽象類中有一個構造函數很好嗎?
- 22. 的java:不能在抽象類中使用構造
- 23. Java:爲什麼你需要構造函數來在父類中使用對象?
- 24. 抽象類構造函數和普通類構造函數的區別?
- 25. 抽象類中的私有構造函數
- 26. C#可能有一個抽象類中的構造函數?
- 27. 「:」在dart的類構造函數中意味着什麼?
- 28. 定義抽象基類的默認構造函數
- 29. 使用「抽象」超類的複製構造函數
- 30. 在構造函數中使用時,添加意思是什麼?
_any_類中構造函數的要點是初始化類的狀態。 – 2014-10-30 23:09:12
'Abstract'類可能與其父類有不同的初始化需求,或者可能需要充當它們的代理。他們可以充當實施的便利 – MadProgrammer 2014-10-30 23:12:23