君子攸宁

导航

java基础_对象转型

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是动物,既有可能是猫也有可能是狗,还有可能是狗
	}
}

 

posted on 2017-04-28 11:14  君子攸宁  阅读(109)  评论(0编辑  收藏  举报