假设A是类B的父类,声明中:A x =new B;有什么意义嘛?为什么B x=new A;就不对了
首页/题库/286℃/2024-05-20 16:10:52
假设A是类B的父类,声明中:A x =new B();有什么意义嘛?为什么B x=new A();就不对了
优质解答:
继承是面向对象编程的一个特点,它具有很多优点,例如你说的两个类:如果父类中有属性,成员方法,以及一些可以被子类继承的方法,那么可以通过子类直接调用.在声明中:A x =new B();是创建了一个A类型,但他是一个子类的实例,这样他就能有子类的全部功能,例如:List list=new ArrayList();而B x=new A();错误是涉及到了类型的转换问题,B类是子类,小类型转化成大类型是隐式转换,因此A x =new B();就是把一个子类的实例转换成父类型,属于大类型转小类型,但如果小类型转大类型就需要显示转换,你可以这样B x =(B)new A();但是这只是表示编译可以通过,执行的时候有可能出现类型转化异常.
我来回答修改/报错/举报内容!
猜你喜欢
- 组词 每个两个蝙 蝠 捕 蛾 蚊 避 锐 铛 蝇 揭 碍 荧不要成语
- 英语翻译1.每天摄入太多的盐和糖会损害人体健康(BE HAMFUL)2.他在求职面试中的表现判断他能胜任这个职务(BE
- 怎么样和面才能让面团发酵的很好,蒸出来的包子馒头和柔软.我每次做的馒头都很硬不柔软.
- There are some offiices in frout of the gym .改为一般疑问句
- 做数学题目时每一步都要写上单位吗
- 写雪的抒情600字作文,
- 王大妈准备把她饲养的82只鸡运到市场上去卖,把鸡分别装进两种笼子,小笼子每个装4只,大笼子每个装6只
- 玻璃瓶抽真空封口机多少钱
- 植物为什么要传播花粉
- “我会用生命中的每一天去保护你.思念你.要你幸福每一天”这句话翻译成英文
- 求历史上各个朝代的皇上名和鼎盛时期的称号.
- 皇上为什么自称“朕”