java基础:继承中的构造方法规则

一:相关规则

(1)子类的构造过程中必须调用父类的构造方法
(2)子类可以在自己的构造方法中使用super(argumentList)来调用父类的构造方法;
 使用this(argumentList)调用本类的其他构造方法
 如果使用super(argumentList)来调用父类的构造方法,必须写在子类构造方法的第一行。
(3)如果子类的构造方法中没有明确地调用父类的构造方法,则默认调用无参的构造方法。相当于在子类构造方法中默认执行super()
  (4)如果子类构造方法中,即没有显示地调用父类的构造方法,而基类中也没有无参的构造方法,则编译不通过。

二:看一个例子

 

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
public class SuperClass {
private int n;
public SuperClass() {
System.out.println("SuperClass");
}
 
public SuperClass(int n) {
System.out.println("SuperClass ---n = "+n);
this.n = n;
}
 
}
 
 
public class SubClass extends SuperClass{
private int n;
public SubClass(int n) {
//super();
System.out.println("SubClass n ="+ n);
this.n = n;
}
 
SubClass(){
super(100);
System.out.println("SubClass");
 
}
}
 
public class Test {
public static void main(String[] args) {
//SubClass sc = new SubClass();
SubClass sc = new SubClass(400);
}
 
}
 来自CODE的代码片
继承中的构造方法
 
执行结果:
 

SuperClass
SubClass  n =400

posted @ 2016-12-02 21:47  天涯海角路  阅读(168)  评论(0)    收藏  举报