在Java中父类构造方法优先于子类构造方法先执行,父类优先于子类存在
在Java中父类构造方法优先于子类构造方法先执行,父类优先于子类存在(代码):
package cn.tedu.extendsx;
public class ExtendsDemo4 {
public static void main(String[] args) {
//创建猪类对象
Pig p=new Pig();
//p.eat();//调用的是子类的重写方法
}
}
class Animal{
public Animal(){
System.out.println(“父类构造方法”);
}
public void eat(){
System.out.println(“在吃东西。。。”);
}
public void sleep(){
System.out.println(“在睡觉。。。”);
}
}
//表示猪的类
class Pig extends Animal{
public Pig(){
//父类构造方法优先于子类构造方法先执行
//父类优先于子类存在
System.out.println(“子类构造方法”);
}
//对父类的eat方法进行重写
public void eat(){
System.out.println(“在无忧无虑的吃。。。”);
System.out.println(“吃了很多。。。”);
System.out.println(“吃饱了。。。想睡觉。。。”);
//sleep方法是一个非静态方法
//在java中所有的非静态属性和方法都可以通过对象调用
//this—代表当前类(子类)的对象—sleep方法是父类方法
//super—代表的就是父类对象
super.sleep();
}
public void sleep(){
System.out.println(“猪仔在睡觉。。。”);
}
}
输出:
父类构造方法
子类构造方法