第七章 判断题-面向对象2

上传人:第*** 文档编号:32826543 上传时间:2018-02-12 格式:DOC 页数:27 大小:84KB
返回 下载 相关 举报
第七章 判断题-面向对象2_第1页
第1页 / 共27页
第七章 判断题-面向对象2_第2页
第2页 / 共27页
第七章 判断题-面向对象2_第3页
第3页 / 共27页
第七章 判断题-面向对象2_第4页
第4页 / 共27页
第七章 判断题-面向对象2_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《第七章 判断题-面向对象2》由会员分享,可在线阅读,更多相关《第七章 判断题-面向对象2(27页珍藏版)》请在金锄头文库上搜索。

1、第七章 判断题1.子类可以从多个超类中派生出来。 ( )2.protected 类型的实例变量或方法只能有声明该变量或方法的类本身及其子类访问。 ( )3.当一个超类成员不适合该子类时,子类会以恰当的方式重新定义它。 ( )4.超类对象的集合通常比它的任何一个子类对象集合大。 ( )5.Java 的每个子类的构造函数都要显式的调用它的直接超类的构造函数。 ( )6.在子类中可以用完全相同的 signature 重新定义一个超类方法,这称为方法的覆盖(override) 。 ( )7.对子类实例化对象需要调用超类的构造函数进行初始化工作,完成对子类中的超类实例变量的初始化,则子类可以继承超类的构

2、造函数。 ( )8.声明为 final 的类不能是超类。 ( )9.抽象类可以实例化对象。 ( )10.Java 提供了一种称为“内部类 ”的机制,使类可以在其他类中定义。 ( )第七章 选择题1.如果超类不允许其通过继承的方式产生的子类访问它的某些成员,那么它必须以什么方式声明该成员。A. publicB. privateC. protectedD. static2.如果在你的类的层次结构的类中定义了 finalize 方法,它总是被定义为什么类型以便子类能访问该方法。A. publicB. privateC. protectedD. static3.声明为 final 的变量不能在子类中覆

3、盖,声明为( )和( )的方法是隐式的 final。A. public privateB. private protectedC. protected staticD. static private4.继承性使 成为可能,它不仅节省开发时间,而且也鼓励人们使用已经验证无误和调试过的高质量软件。A节省时间B软件复用C软件管理D延长软件生命周期5.如果 Alpha 类继承 Beta 类,Alpha 类被称为类。 A超类B子类C系统D用户自定义6.在上题中, Beta 类被称为类。A超类B子类C系统D用户自定义7.四种成员访问形式是。ApublicBprivateCprotectedD包访问8.一个

4、 类的对象可以当作相应的类对象看待。A子 系统B用户 系统C子 超D超 用户9.使用多态性减少了逻辑的使用。AforBwhileCifD switch10.在运行时才确定调用那一个方法,这叫做绑定。A静态B动态C自动D快速第七章 程序设计题1.根据下面的要求编程实现复数类 ComplexNumber.(1) 复数类 ComplexNumber 的属性 m_dRealPart 实部,代表复数的实数部分。 m_dImaginPart 虚部,代表复数的虚数部分。(2) 复数类 ComplexNumber 的方法 ComplexNumber() 构造函数,将实数、虚数都置为 0。 ComplexNum

5、ber(double r,double I) 构造函数,创建复数对象的同时完成复数的实部、虚部的初始化;r 为实部的初值,i 为虚部的初值。 getRealPart() 获得复数对象的实部。 getImaginaryPart() 获得复数对象的虚部。 setRealPart(double d) 把当前复数对象的实部设置为给定的形参的数字。 setImaginaryPart(double d) 把当前复数对象的虚部设置为给定的形参的数字。 complexAdd(ComplexNumber c) 当前复数对象与形参复数的对象相加,所得的结果也是复数值,返回给此方法的调用者。 complexAdd(

6、double c) 当前复数对象与形参实数的对象相加,所得的结果仍是复数值,返回给此方法的调用者。 ComplexMinus(ComplexNumber c) 当前复数对象与形参复数对象相减,所得的结果也是复数值,返回给此方法的调用者。ComplexMinus(double c) 当前复数对象与形参复数对象相减,所得的结果也是复数值,返回给此方法的调用者。ComplexMulti(ComplexNumber c) 当前复数对象与形参复数对象相乘,所得的结果也是复数值,返回给此方法的调用者。ComplexMulti(double c) 当前复数对象与形参复数对象相乘,所得的结果也是复数值,返回给

7、此方法的调用者。toString( ) 把当前复数对象的实部、虚部组合成 a+bi 的字符串形式,其中 a 和 b 分别为实部和虚部的数据。上面的类中使用了面向对象中的那些技术/使用这样的技术有什么好处?。2.编写 Applet 程序验证、使用上题中的复数类,接受用户输入的复数的实部和虚部,计算复数与复数、复数与实数的加、减、乘、除的操作。3.构造函数是否可以被重载?试举例。第七章判断题答案1.难度:容易答案:错误知识点:Java 不支持多重继承。2.难度:容易答案:正确知识点:protected 类型的实例变量或方法只能由声明该变量或方法的类本身及其子类访问。3.难度:容易答案:正确知识点:

8、超类的继承性。4.难度:容易答案:正确知识点:超类的概念。5.难度:适中答案:错误知识点:如果没有显式调用超类的构造函数,Java 会自动调用超类的缺省构造函数(隐式调用)。6.难度:容易答案:正确知识点:覆盖的概念。7.难度:适中答案:错误知识点:子类不能继承超类的构造函数,然而子类构造函数可以通过 super 引用调用超类的构造函数。8.难度:容易答案:正确知识点:final 类不能被继承,一个 final 类中的所有方法都是隐式的 fianl。9.难度:容易答案:错误知识点: 抽象类不需要实例化对象的类,相反,对象能被实例化的类叫做具体类。10.难度:容易答案:正确知识点:内部类的概念。

9、第七章 选择题答案1.难度:容易答案:B. private知识点:子类不能直接访问它的超类的 private 成员。2.难度:适中答案:C. protected知识点:finalize 方法的调用。3.难度:适中答案:D. static private知识点:final 方法的定义永远不能改变,编译器按这种方式优化程序。4.难度:容易答案:B知识点:继承性使软件复用成为可能。5.难度:适中答案:B知识点:子类的概念。6.难度:适中答案:A知识点:超类的概念。7.难度:适中答案:ABCD知识点:四种成员访问形式。8.难度:容易答案:C知识点:子类和超类的概念。9.难度:容易答案:D知识点:使用多

10、态性减少了 switch 逻辑的使用。10.难度:容易答案:B知识点:动态绑定就是在运行时才确定调用那一个方法。第七章 程序设计题答案1.难度:难答案:ComplexNumber 类使用了面向对象的重载技术,实现了类内的抽象复数的运算。源程序 ComplexNumber.javapublic class ComplexNumber public static void main(String args)ComplexNumber cNumber_1 = new ComplexNumber(3,-5);ComplexNumber cNumber_2 = new ComplexNumber(2,2

11、);double d = 10.0;System.out.println(cNumber_1.toString() + 加 + cNumber_2.toString() + 等于 + cNumber_plexAdd(cNumber_2).toString();System.out.println(cNumber_1.toString() + 加 + d + 等于 + cNumber_plexAdd(d).toString();System.out.println(cNumber_1.toString() + 减 + cNumber_2.toString() + 等于 + cNumber_ple

12、xMinus(cNumber_2).toString();System.out.println(cNumber_1.toString() + 减 + d + 等于 + cNumber_plexMinus(d).toString();System.out.println(cNumber_1.toString() + 乘 + cNumber_2.toString() + 等于 + cNumber_plexMulti(cNumber_2).toString();System.out.println(cNumber_1.toString() + 乘 + d + 等于 + cNumber_plexMul

13、ti(d).toString();class ComplexNumber/域 private double m_dRealPart;private double m_dImaginPart;/构造函数 ComplexNumber()m_dRealPart = 0.0;m_dImaginPart = 0.0;ComplexNumber(double r,double i)m_dRealPart = r;m_dImaginPart = i;ComplexNumber(ComplexNumber c)m_dRealPart = c.getRealPart();m_dImaginPart = c.ge

14、tImaginaryPart();/get,set 方法double getRealPart()return m_dRealPart;double getImaginaryPart()return m_dImaginPart;void setRealPart(double d) m_dRealPart = d;void setImaginaryPart(double d) m_dImaginPart = d;/复数运算方法ComplexNumber complexAdd(ComplexNumber c)return new ComplexNumber( this.m_dRealPart + c

15、.getRealPart(), this.m_dImaginPart + c.getImaginaryPart();ComplexNumber complexAdd(double c)return new ComplexNumber( this.m_dRealPart + c, this.m_dImaginPart);ComplexNumber complexMinus(ComplexNumber c)return new ComplexNumber( this.m_dRealPart - c.getRealPart(), this.m_dImaginPart - c.getImaginaryPart();ComplexNumber complexMinus(double c)return new ComplexNumber( this.m_dRealPart - c, this.m_dImaginPart);ComplexNumber complexMulti(ComplexNumber c)return new ComplexNumber( this.m_dRealPart * c.getRealPart() - this.m_dImaginPart * c.getImaginaryPart(), this.m_dRealPart * c.getImaginaryPa

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 工程造价

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号