子類不能繼承父類的構造器(構造方法或者構造函數),但是父類的構造器帶有參數的,則必須在子類的構造器中顯式地通過super關鍵字調用父類的構造器並配以適當的當屬列表。
如果父類有無參構造器,則在子類的構造器中用super調用父類構造器不是必須的,如果沒有使用super關鍵字,系統會自動調用父類的無參構造器。
public class InheritanceDemo { public static void main(String args[]) { // SubClass sc = new SubClass(); SubClass sc2 = new SubClass(200); sc2.eat(); } public static class SuperClass { private int n; SuperClass() { System.out.println("SuperClass()"); } SuperClass(int n) { System.out.println("SuperClass(int n):"+n); this.n = n; } void eat(){ } } public static class SubClass extends SuperClass { private int n; SubClass() { //super(300); System.out.println("SuperClass"); } public SubClass(int n) { //super(300); System.out.println("SubClass(int n):" + n); this.n = n; } } }