package java_test; /* 对象的转型: 1.对象的向上转型 子类转成父类 默认进行 父类引用指向子类对象 2.对象的向下转型 父类转成子类 强制进行 关键字: instanceof 测试左边的对象事都是右边类的实例 如果是返回true 不是返回false */ class Animals{ void sleep(){ System.out.println("睡觉中"); } } class Cas extends Animals{ void catchMouse(){ System.out.println("捕鼠"); } } class Dogs extends Animals{ } public class A6_50 { public static void main(String[] args) { Animals a=new Cas();//向上转型 父类引用指向子类对象,这个a只能访问父类的成员 //Cas c=(Cas)a;//向下转型 强制进行 必须强制向下转型后才可以用Cas类的方法 System.out.println(a instanceof Cas);//这里返回true a指向了一个猫 Animals b=new Animals(); System.out.println(b instanceof Cas);//这里返回是false ,因为b是动物,既有可能是猫也有可能是狗,还有可能是狗 } }