Java 继承中的构造方法
子类可以继承父类的构造方法,并遵循以下原则:
子类构造的构成中必须调用其基类的构造方法。
2、子类可以在自己的构造方法中使用super()调用基类的构造方法。
使用this()调用本类的另外的构造方法。
如果调用super(),必须写在子类构造方法的第一行。
3、如果子类的构造方法中没有显示的调用基类构造方法,则系统默认调用基类无参的构造方法。
4、如果子类的构造方法中既没有显示的调用基类的构造方法,而基类中又没有无参的构造方法,则编译会出错。
1 class SuperClass { 2 private int n; 3 4 SuperClass() { 5 System.out.println("SuperClass()"); 6 } 7 8 9 SuperClass(int n) { 10 System.out.println("SuperClass(" + n + ")"); 11 this.n = n; 12 } 13 } 14 15 class SubClass extends SuperClass { 16 private int n; 17 18 SubClass(int n) { 19 //super(); //默认调用基类无参的构造方法 20 System.out.println("SubClass(" + n + ")"); 21 this.n = n; 22 } 23 24 SubClass() { 25 super(300); //调用基类有参的构造方法 26 System.out.println("SubClass()"); 27 } 28 } 29 30 public class TestSuperSub { 31 public static void main(String arg[]) { 32 //SubClass sc1 = new SubClass(); 33 SubClass sc2 = new SubClass(400); 34 } 35 }
原文:http://www.cnblogs.com/ouczw/p/3720197.html