我是靠谱客的博主 帅气黑猫,最近开发中收集的这篇文章主要介绍java继承多态的练习题 java继承多态的练习题 java继承多态的练习题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述



java继承多态的练习题

2014-09-04 09:07 优土壁  |  分类:JAVA相关  |  浏览403次


这两道题,完全没思路,求详解

2014-09-04 09:33 提问者采纳
Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。
java多态存在的三个必要条件:
1.需要有继承关系的存在
2.需要有方法的重写
3.需要有父类的引用指向子类对象
希望对你有帮助。
第一题应该选D,第二题选C,D。
第一题属于多态,methodB()方法属于子类,父类没有重写子类的方法
第二题属于继承,子类可以继承父类的方法
追问
第二题调用那块不太明白。
那如果改成t.change(30)或者p.b还可以么?
回答
t.change(30)可以,因为t这个对象继承了Person类
p.b不可以,因为Person类中没有b这个属性,只能p.a
追问
谢谢,不好意思只能采纳一个,你和ZY1404协商一下吧
提问者评价
谢谢!
评论  |  2  0

流风子云 | 八级 采纳率36%

擅长: JAVA相关 JavaScript

按默认排序 | 按时间排序

其他6条回答

2014-09-04 09:24 zy1404  | 九级
1.D
父类类型的引用,指向子类型。可以调用父类中定义的所有属性和方法,而对于子类中定义而父类中没有的方法,它是无可奈何的;
2. C,D
要想使用a,必须使用p.a才能调用a,这是类的封装性的体现
对于b的调用也是类似
追问
CD为什么是对的,AB为什么是错的
回答
首先main函数属于静态方法
静态方法只能访问静态属性
也就是static 所修饰的属性
追问
AB不是静态的我理解了。那CD是什么意思,我知道这叫调用,别的就不知道了
回答
pubic int change(int c){return c} //这种函数带有返回类型,执行完会int类型的数,数值打下就是return 返会的值,因此
p.change(30) 调用该函数会返回一个int类型的30
等价于i=30
java中若不赋值int 默认为0
D 等价于i=0
追问
第二题调用那块不太明白。
那如果改成t.change(30)或者p.b还可以么?
回答
可以改成p.a;
p->父类
a是父类的属性
t->子类
b是子类的属性
p.b 是错误的。
哪怕person p= new Teacher()
也不可以使用p.b
因为
父类类型的引用,指向子类型。可以调用父类中定义的所有属性和方法,而对于子类中定义而父类中没有的方法,属性,是不可以使用的
追问
谢谢,不好意思只能采纳一个,你和流风子云协商一下吧

java继承多态的练习题

2014-09-04 09:07 优土壁  |  分类:JAVA相关  |  浏览403次


这两道题,完全没思路,求详解

2014-09-04 09:33 提问者采纳
Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。
java多态存在的三个必要条件:
1.需要有继承关系的存在
2.需要有方法的重写
3.需要有父类的引用指向子类对象
希望对你有帮助。
第一题应该选D,第二题选C,D。
第一题属于多态,methodB()方法属于子类,父类没有重写子类的方法
第二题属于继承,子类可以继承父类的方法
追问
第二题调用那块不太明白。
那如果改成t.change(30)或者p.b还可以么?
回答
t.change(30)可以,因为t这个对象继承了Person类
p.b不可以,因为Person类中没有b这个属性,只能p.a
追问
谢谢,不好意思只能采纳一个,你和ZY1404协商一下吧
提问者评价
谢谢!
评论  |  2  0

流风子云 | 八级 采纳率36%

擅长: JAVA相关 JavaScript

按默认排序 | 按时间排序

其他6条回答

2014-09-04 09:24 zy1404  | 九级
1.D
父类类型的引用,指向子类型。可以调用父类中定义的所有属性和方法,而对于子类中定义而父类中没有的方法,它是无可奈何的;
2. C,D
要想使用a,必须使用p.a才能调用a,这是类的封装性的体现
对于b的调用也是类似
追问
CD为什么是对的,AB为什么是错的
回答
首先main函数属于静态方法
静态方法只能访问静态属性
也就是static 所修饰的属性
追问
AB不是静态的我理解了。那CD是什么意思,我知道这叫调用,别的就不知道了
回答
pubic int change(int c){return c} //这种函数带有返回类型,执行完会int类型的数,数值打下就是return 返会的值,因此
p.change(30) 调用该函数会返回一个int类型的30
等价于i=30
java中若不赋值int 默认为0
D 等价于i=0
追问
第二题调用那块不太明白。
那如果改成t.change(30)或者p.b还可以么?
回答
可以改成p.a;
p->父类
a是父类的属性
t->子类
b是子类的属性
p.b 是错误的。
哪怕person p= new Teacher()
也不可以使用p.b
因为
父类类型的引用,指向子类型。可以调用父类中定义的所有属性和方法,而对于子类中定义而父类中没有的方法,属性,是不可以使用的
追问
谢谢,不好意思只能采纳一个,你和流风子云协商一下吧

最后

以上就是帅气黑猫为你收集整理的java继承多态的练习题 java继承多态的练习题 java继承多态的练习题的全部内容,希望文章能够帮你解决java继承多态的练习题 java继承多态的练习题 java继承多态的练习题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(53)

评论列表共有 0 条评论

立即
投稿
返回
顶部