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、
解析: