当前位置: 代码迷 >> Eclipse >> java有关问题详解
  详细解决方案

java有关问题详解

热度:86   发布时间:2016-04-23 01:39:52.0
java问题详解
如果Pet是一个抽象类而且是Cat的父类,那么下列代码中正确的是()
Cat cat = new Pet();这是错的吗 为什么

------解决方案--------------------
因为Pet是一个抽象类,抽象类是不能被实力化的。
------解决方案--------------------
应该是Pet p=new Cat();
Pet是抽象类,不能被实例化
Cat是Pet的子类,Pet类型的引用能指向Cat,就像是猫是宠物一样。。宠物是猫就错了
深层的还是要看书

------解决方案--------------------
首先,抽象类不能被实例化。顶1楼

其次,就算Pet不是抽象类,这样写也是不对的。
父类的实例化对象不可以直接赋给子类引用,需要类型转换;但是反过来是可以的,子类的实例化对象可以赋给父类引用
  相关解决方案