阅读以下说明和Java代码。 [说明] 已知类SubClass的getSum方法返回其父类成员i与类SubClass成员i的和,类 SuperClass中的getSum为抽象函数,程序中的第14行有错误,请修改该错误并给出修改后的完整结果,然后

admin2008-05-10  36

问题 阅读以下说明和Java代码。
   [说明]
   已知类SubClass的getSum方法返回其父类成员i与类SubClass成员i的和,类 SuperClass中的getSum为抽象函数,程序中的第14行有错误,请修改该错误并给出修改后的完整结果,然后完善程序中的空缺,当程序运行到第22行且尚未执行第22行语句时成员变量i的值,最后给出程序运行后的输出结果。
[Java代码]

选项

答案(1)this (2)super 错误更正结果:public abstract int getSum(); 变量i的值:5 运行结果: -3 2

解析 本题考查的是Java程序设计。
   考查的主要知识点为Java程序设计语言中类成员变量的初始化、父类成员方法的调用、对象的构造等。(1)处要求用参数i的值更新数据成员,由于成员变量名也为j因此需要明确地指出需要更新的变量,j为类中的成员变量,可以在前面加上一个明确的前缀this来表示,因此(1)处应填写this;(2)处要求调用父类的成员方法getValue(),为了和子类中的getValue()相区别,需要加上域前缀,因此(2)处应该填写Super,表明该函数属于类SuperClass;在程序的第14行,getSum函数仅仅是一个抽象函数,它将被 SubClass继承并实现,因此,不能够将其定义为final,凡是定义为final的方法是不允许被子类重新实现的,因此更改后应该将final关键字去掉;当程序运行到第22行但是还没有执行22行的语句时,父类的构造函数已经被调用并执行,所以i的值应该为5:最后程序的输出为-3和2,-3为子类中成员变量,i的值,而2表示父类中i的值和子类中j的值的和。
转载请注明原文地址:https://kaotiyun.com/show/nsjZ777K
0

最新回复(0)