
Java中子类的引用变量为什么不能指向父类的对象
2个回答
2016-12-02
展开全部
假设有2个类,parent和child,其中child继承了parent,那么这个时候,你这样写
parent p = new child();是没问题的,这种叫向上转型(将子类的实例对象赋给父类的引用变量),经过这次转型后,你再接着写
child c = (child)p; 也是可以的,这叫向下转型,因为经过了一次向上转型,所以向下转型是没问题的,可是你不能直接就要child c = new parent();这样的,这不合法的,没有父拿来的孩子
parent p = new child();是没问题的,这种叫向上转型(将子类的实例对象赋给父类的引用变量),经过这次转型后,你再接着写
child c = (child)p; 也是可以的,这叫向下转型,因为经过了一次向上转型,所以向下转型是没问题的,可是你不能直接就要child c = new parent();这样的,这不合法的,没有父拿来的孩子
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询