继承中构造方法的访问&super

super关键字

super关键字的用法有三种:

  1. 在子类的成员方法中,访问父类的成员变量
  2. 在子类的成员方法中,访问父类的成员方法
  3. 在子类的构造方法中,访问父类的构造方法

继承关系中构造方法的访问特点

  1. 子类构造方法中有一个默认隐含的“super()”调用(不写赠送,写了不送),所以一定是先调用的父类构造 ,后执行的子类构造。
  2. 子类构造可以通过super关键字来调用父类所有的构造方法。
  3. super的父类构造调用,必须是子类构造方法的第一个语句。不能一个子类构造调用多次父类构造。

示例

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
class T{
int a;
public T(int a) {
this.a = a;
}
}
class TT extends T{
int a;
public TT(int a, int a1) {
super(a);
this.a = a1;
}
public int getSuperA(){
return super.a;
}
public int getThisA(){
return this.a;
}
}
public class Test {
public static void main(String[] args) {
TT t = new TT(2,4);
System.out.println(t.getSuperA()); // 2
System.out.println(t.getThisA()); // 4
}
}

继承中构造方法的访问&super
https://blog.wangxk.cc/2020/08/20/继承中构造方法的访问-super/
作者
Mike
发布于
2020年8月20日
许可协议