Java一些重要的小知识点(四)

本文深入探讨Java中抽象类、final修饰符的使用规则,包括与static、private的兼容性,方法重写原则,以及构造方法的调用机制。通过具体示例,解析了方法重写与新增的区别,子类构造过程中父类构造方法的调用细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

29、

在这里插入图片描述
解析:
子类不可以继承父类的构造方法,只可以调用父类的构造方法
abstract类的子类不一定是非abstract类
在这里插入图片描述
D不能
故选C

30、

在这里插入图片描述
在这里插入图片描述
C类中的方法可以被final修饰,故选D

知识点:
abstract和final不能同时使用,abstract和static不能同时使用,abstract和private不能同时使用。
在这里插入图片描述
在这里插入图片描述

31、

在这里插入图片描述
解析:
方法重写要求方法名,返回值类型,参数完全相同,所以A符合,B返回值类型不同,编译错误。而C和D不仅返回值类型不同,参数也不同,不属于方法重写,而是属于子类自己新增的方法。故选B

32、

在这里插入图片描述
父类的构造方法不允许被继承,不允许被重写,但在子类的构造过程中必须调用其父类的构造方法,如果子类的构造方法中没有显式的调用父类的构造方法(super关键字),则系统默认调用父类无参的构造方法。如果子类构造方法中既没有显式调用父类的构造方法,而父类又没有无参的构造方法,则编译出错。故选A

33、

在这里插入图片描述
注意是15.0不是15
答案:
15.0
8.0

34、

在这里插入图片描述
【代码1】:98.0 。 【代码2】:12 。【代码3】:98.0 。 【代码4】:9
代码1调用b对象的f方法,b对象是B类实例化的,调用的是B类自己的f方法,传入10.0和8.0后,用super关键字调用了父类的f方法,得到18.0赋值给m,最后返回18.0+10.0*8.0也就是98.0。
【代码2】调用B类中的静态方法g传入3,方法内又去调用父类中的g方法传入3,得到9赋值给m后,输出9+3也就是12。
【代码3】a对象是上转型对象,上转型对象可以调用重写父类的方法以及父类派生的方法,所以a调用的f方法是它重写的方法,那么具体过程就跟【代码1】相同,答案为98.0
【代码4】在于g方法是静态方法,静态方法是不允许被重写的,所以B类中的g方法相当于该类特有的方法,那么a调用的g方法实际上是父类的,输出结果为9 。

35、请说出E类中【代码1】~【代码3】的输出结果

在这里插入图片描述
答案:
120
120
-100

36、

在这里插入图片描述
在这里插入图片描述
解析:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

之后我会持续更新,如果喜欢我的文章,请记得一键三连哦,点赞关注收藏,你的每一个赞每一份关注每一次收藏都将是我前进路上的无限动力 !!!↖(▔▽▔)↗感谢支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值