我們能否用一個 Java 中抽象類的具參構造法定義?
是,我們可以在一個抽象類中定義一個具參構造法。
在抽象類中定義具參構造法的條件
- 我們需要確保擴充套件抽象類的類擁有一個構造法,而且它可以呼叫超類的具參構造法。
- 我們可以使用 super() 呼叫在子類的構造法中呼叫超類的具參構造法。
- 如果我們沒有在子類的構造法中放置 super() 呼叫,就會發生編譯時錯誤。
示例
abstract class AbstractClassTest { AbstractClassTest(int a) { // Parameterized Constructor System.out.println("Parameterized Constructor of an abstract class a="+ x); } } public class Test extends AbstractDemo { Test() { super(20); System.out.println("Test Class Constructor"); } public static void main(String[] args) { Test obj = new Test(); } }
在上面的示例中,我們必須在子類構造法 (Test) 中放置一個 super() 呼叫,否則會發生編譯時錯誤。
輸出
Parameterized Constructor of an abstract class a=20 Test Class Constructor
廣告