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 }
时间: 2024-11-03 21:16:25