4 习题解析4 -第4章 类、对 象和方法_第1页
4 习题解析4 -第4章 类、对 象和方法_第2页
4 习题解析4 -第4章 类、对 象和方法_第3页
4 习题解析4 -第4章 类、对 象和方法_第4页
4 习题解析4 -第4章 类、对 象和方法_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第4章类、对象和方法习题解析1.选择题(1)以下关于类的描述中,错误的是()。A、在面向对象的思想中最核心就是对象,为了在程序中创建对象,首先需要定义一个类B、定义类的关键字是InterfaceC、类中的方法叫成员方法,成员方法又分为实例方法与类方法D、类中的属性叫成员属性,成员属性又分为实例属性与类属性答案:B(2)下列关于构造方法的描述中,错误的是()。A、构造方法的方法名必须和类名一致B、构造方法不能写返回值类型C、构造方法可以重载D、构造方法的访问权限必须和类的访问权限一致答案:D(3)类的定义必须包含在以下哪种符号之间()。A、[]B、{}C、""D、()答案:B(4)在以下什么情况下,构造方法会被调用()。A、类定义时B、创建对象时C、调用对象方法时D、使用对象的变量时答案:B(5)重载指的是方法具有相同的名字,但这些方法的参数必须不同。下列哪种说法不属于方法参数的不同()。A、形式参数的个数不同B、形式参数的类型不同C、形式参数的名字不同D、形式参数类型的排列顺序不同答案:C(6)“隐藏对象的属性和实现细节,仅对外提供公有的方法”描述的是面向对象的哪个特征()。A、封装B、继承C、多态D、以上都不是答案:A(7)下列关于静态方法的描述中,错误的是()。A、静态方法属于类的共享成员B、静态方法是通过"类名.方法名"的方式来调用C、静态方法只能被类调用,不能被对象调用D、静态方法中可以访问静态变量答案:C(8)为了能让外界访问私有属性,需要提供一些使用()关键字修饰的方法。A、voidB、defaultC、privateD、public答案:D(9)阅读下面的代码classDemo{privateStringname;Demo(Stringname){=name;}privatestaticvoidshow(){System.out.println(name)}publicstaticvoidmain(String[]args){Demod=newDemo(“lisa”);d.show();}}下列关于程序运行结果的描述中,正确的是()。A、输出lisaB、输出nullC、输出nameD、编译失败,无法从静态上下文中引用非静态变量name答案:D(10)定义类A如下:classA{inta,b,c;publicvoidB(intx,inty,intz){a=x;b=y;c=z;}}下面对方法B的重载哪些是正确的()。A、publicvoidA(intx1,inty1,intz1){a=x1;b=y1;c=z1;}B、publicvoidB(intx1,inty1,intz1){a=x1;b=y1;c=z1;}C、publicvoidB(intx,inty){a=x;b=y;c=0;}D、publicB(intx,inty,intz){a=x;b=y;c=z;}答案:C2.填空题(1)面向对象的三大特征是(封装)、(继承)和 (多态)。(2)构造函数(没有)返回值。(3)定义在类的变量被称为(成员变量),定义在方法中的变量被称为(局部变量)。(4)Personp1=newPerson();Personp2=p1;这两句代码创建了(1)个对象。(5)静态方法必须使用(static)关键字来修饰。(6)在Java中解决成员变量与局部变量名称冲突时,可以使用(this)关键字。(7)int类型的成员变量初始化值为(0),引用型类型的成员变量初始化值为(null)。3.综合题(1)使用Eclipse创建名为“task4_1A”的Java项目,在该项目中创建一个名为“Rectangle”的Java类,该类实现左下图所示UML类图的功能(Rectangle类代码实现可参考教材46页)。在“task4_1A”项目中再创建一个名为“Task4_1A”的Java主类,在该类的main方法中使用Rectangle类(参考代码如右下图所示)。参考答案:publicclassRectangle{doubleweight,height;publicdoublegetArea(){ doublearea; area=weight*height; returnarea;}}publicclassTask4_1A{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub RectanglemyRect1; myRect1=newRectangle(); myRect1.weight=10; myRect1.height=10; System.out.println(myRect1.getArea()); }}使用Eclipse创建名为“task4_2A”的Java项目,在该项目中创建一个名为“MyMath”的Java类,分别实现如下面UML类图所示方法。方法nfact用于求参数n的阶乘,方法max用于求参数a和b中的最大值,方法isPrime用于判断参数n是否是质数。在“task4_2A”项目中再创建一个名为“Task4_2A”的Java主类,在该类的main方法中使用MyMath类(参考代码如下图所示)。参考答案:publicclassmyMath{publiclongnfact(intn){ longsum=1; for(inti=1;i<=n;i++){ sum=sum*i; } returnsum;}publicintmax(inta,intb){ intk; if(a>b) k=a; else k=b; returnk;}publicbooleanisPrime(intn){ booleanf=true; intj; for(j=2;j<=n;j++){ if(n%j==0) break; } if(j<n) f=false; returnf; }}publicclassTask4_2A{ publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstubmyMathmathTool=newmyMath();intx=8;System.out.println(x+"!="+mathTool.nfact(x));inty=(int)(Math.random()*10)+3;System.out.println(x+","+y+"中最大的数是:"+mathTool.max(x,y));for(intz=101;z<=119;z=z+2){ if(mathTool.isPrime(z)) System.out.println(z+"是素数"); else System.out.println(z+"不是素数");} }}编在Eclipse中实验对象的组合方法。使用Eclipse创建名为“task4_7”的Java项目,在该项目中创建一个名称为“Circle”的Java类(表示圆),其成员变量和方法如上面UML类图所示。在“task4_7”项目中再创建一个名称为“Cylinder”的Java类(表示圆柱体),其成员变量和方法如上面UML类图所示,其中,成员变量bottom为Circle类的对象。在“task4_7”项目中再创建一个名为“Task4_7”的Java主类,该类的main方法代码如下图所示。参考答案:packagetask4_7;publicclassCircle{ doubleradius; doublegetArea(){ returnMath.PI*radius*radius;}}packagetask4_7; publicclassCylinder{ doubleheight; Circlebotoom; publicvoidsetBotoom(Circlec){ this.botoom=c; } doublegetVolume(){ returnbotoom.getArea()*height; }}packagetask4_7;publicclassTask4_7{ publicstaticvoidm

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论