1.在子类的构造方法的第一条语句处调用其父类的构造方法:
如果父类提供了构造方法,并且父类不拥有无参构造方法,则要求子类拥有相同结构的构造方法。即,子类构造方法的参数个数和类型必须和父类的构造方法一致。
如果父类有默认的构造方法,子类有没有明确指定调用父类的那个构造方法,则子类的构造方法隐式的有 super()操作。
格式: super(父类构造方法的调用参数列表)
2.在子类型的非静态成员方法中访问其父类型的成员域:
格式: super.父类型的成员域
如果在子类型的类型题中定义了与该成员域同名的成员域或在当前非静态成员方法中定义了与该成员域同名的局部变量,则通过上面的方法来解决同名变量的屏蔽问题。
3.在子类型的非静态成员方法中调用其父类的成员方法:
格式: super.父类型的成员方法(调用参数列表)
这里调用的父类型的成员方法可以是在父类型中被覆盖的成员方法,可以是静态的,也可以是非静态的。
public class TestSuper { public TestSuper(int a){ System.out.println("This is a class super..."); } } public class Drive extends TestSuper{ public Drive(int a) { super(a); System.out.println("This is a class Drive..."); } }