为什么 把Dog 类转换成Cat类后 不能调用Dog类型中的方法! 用定义的
Dog dog=new Dog("");
Cat cat= dog;
用cat. 不能调用Dog类的方法
问题已解决
1,肯定不能调用了啊,转换完得到的cat已经不是dog了,这个问题其实可以类比值类型,比如:double d=4.3;
int i=(int)d;然后i会得到3,但是i不能当做d用?
dog转为Cat,是只能用cat中的方法啊,不过不太理解为什么要Cat cat= dog;
123看不到回答 苦笑
因为你的cat已经转换为Cat类型的对象 ,之前的属性已经消失了。在内存中 cat的指针是指向cat的实例的。