package Test;
public class fatherSon {
public static void main(String[] args) {
cats cats = new cats();
cats.breakIng();
cats.eating();
animals animals=new animals();
animals.eating();
System.out.println("父类调用子类的重写的方法");
animals animals1=new cats();
animals1.eating();
System.out.println("父类调用子类的特有方法");
//父类无法直接调用子类特有的方法,需要进行类型转换
//instanceof运算符可以检查引用是否指子类对象,然后进行类型转换并调用子类的方法
if (animals1 instanceof cats){
cats cats2=(cats) animals1;
cats2.breakIng();
}
}
}
class cats extends animals {
@Override
public void eating(){
System.out.println("cats正在吃饭");
//这里用super关键字来调用父类的eating方法
super.eating();
}
public void breakIng(){
System.out.println("cats增在休息");
super.eating();
}
}
class animals{
public void eating(){
System.out.println("动物正在吃饭");
}
}