搜索文档
super
super 是直接父类对象的已用,可以通过 super 访问父类中被子类覆盖的方法或属性。
每个类的构造方法中,第一句一定是一个 super() 方法,如果不写编辑器会默认给我们加上。
通过 super 访问父类对象
javapackage fun.my71; public class Index { public static void main(String[] args) { Student stu = new Student(); System.out.println(stu.sumVal()); } } class Person { int value = 1; public int sumVal() { return value + 10; } } class Student extends Person { int value = 2; public int sumVal() { return super.sumVal() + value + super.value; } }
追溯问题
构造方法第一句总是:super() 来调用父类对应的构造方法,也就是说,构造方法的调用顺序是从父类开始的。
代码
javapackage fun.my71; public class Index { public static void main(String[] args) { Student stu = new Student(); } } class Person { public Person() { System.out.println("父类构造方法被调用!"); } } class Student extends Person { public Student() { System.out.println("子类构造方法被调用!"); } }
