//禁止商业转载,转标处。
//super主要用于子类与父出现同名方法或者变量时用于标记属于父类的变量或者方法,见例子。
//子类创建构造方法的时候系统会自动调用父类构造方法。
//**********父类**********
public class Animal {
int age = 3; // 父类变量
Animal(){
System.out.println("父类构造方法执行了"); // 父类构造方法
}
void Age() {
System.out.println("这个动物" + age + "岁了。"); // 父类方法
}
}
//**************子类***********
class Dog extends Animal {
int age = 4;
Dog ( ) {
// super();
System.out.println("子类构造方法执行了"); //子类构造方法
}
void Age() {
System.out.println("这个小狗" + super.age + "岁了。"); // 关键字super
}
}
//*************第三类*************
public class run {
public static void main(String[] args) {
Dog dog = new Dog();
dog.Age();
}
}
//运行结果 :
父类构造方法执行了
子类构造方法执行了
这个小狗3岁了。
运行结果证明:
创建子类对象时,
先执行父类构造方法
再执行子类构造方法,执行子类构造方法之前会调用父类构造方法,自动在子类构造方法中加入super( )语句;
再创建子类
再创建对象
再执行方法。
子类对象执行重写方法时调用了父类变量。