ImageVerifierCode 换一换
格式:PDF , 页数:51 ,大小:368.45KB ,
资源ID:4768519      下载积分:14 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4768519.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(Java-2实用教程(第5版)习题解答.pdf)为本站上传会员【天****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Java-2实用教程(第5版)习题解答.pdf

1、习题解答习题解答习题习题 1(第(第 1 章)章)一、问答题1Java 语言的主要贡献者是谁?2开发 Java 应用程序需要经过哪些主要步骤?3Java 源文件是由什么组成的?一个源文件中必须要有 public 类吗?4如果 JDK 的安装目录为 D:jdk,应当怎样设置 path 和 classpath 的值?5Java 源文件的扩展名是什么?Java 字节码的扩展名是什么?6如果 Java 应用程序主类的名字是 Bird,编译之后,应当怎样运行该程序?7有哪两种编程风格,在格式上各有怎样的特点?1James Gosling2需 3 个步骤:1)用文本编辑器编写源文件。2)使用 javac

2、编译源文件,得到字节码文件。3)使用解释器运行程序。3源文件由若干个类所构成。对于应用程序,必须有一个类含有 public static void main(String args)的方法,含有该方法的类称为应用程序的主类。不一定,但至多有一个public 类。4set classpath=D:jdkjrelibrt.jar;.;5.java 和 class6.java Bird 7.独行风格(大括号独占行)和行尾风格(左大扩号在上一行行尾,右大括号独占行)二、选择题1B。2D。1下列哪个是 JDK 提供的编译器?A)java.exeB)javac.exeC)javap.exeD)javaw.

3、exe2下列哪个是 Java 应用程序主类中正确的 main 方法?A)public void main(String args)B)static void main(String args)C)public static void Main(String args)D)public static void main(String args)三、阅读程序阅读下列 Java 源文件,并回答问题。public class Person void speakHello()System.out.print(您好,很高兴认识您);System.out.println(nice to meet you);

4、class Xiti public static void main(String args)Person zhang=new Person();zhang.speakHello();(a)上述源文件的名字是什么?(b)编译上述源文件将生成几个字节码文件?这些字节码文件的名字都是什么?(c)在命令行执行 java Person 得到怎样的错误提示?执行 java xiti 得到怎样的错误提示?执行 java Xiti.class 得到怎样的错误提示?执行 java Xiti 得到怎样的输出结果?1(a)Person.java。(b)两个字节码,分别是 Person.class 和 Xiti.c

5、lass。(c)得到“NoSuchMethodError”,得到“NoClassDefFoundError:Xiti/class”,得到“您好,很高兴认识您 nice to meet you”习题习题 2(第(第 2 章)章)一、问答题1什么叫标识符?标识符的规则是什么?false 是否可以作为标识符。2什么叫关键字?true 和 false 是否是关键字?请说出 6 个关键字。3Java 的基本数据类型都是什么?4float 型常量和 double 型常量在表示上有什么区别?5.怎样获取一维数组的长度,怎样获取二维数组中一维数组的个数。1用来标识类名、变量名、方法名、类型名、数组名、文件名的

6、有效字符序列称为标识符。标识符由字母、下划线、美元符号和数字组成,第一个字符不能是数字。false 不是标识符。2关键字就是 Java 语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。true 和 false 不是关键字。6 个关键字:class implements interface enum extends abstract。3boolean,char,byte,short,int,long,float,double。4float 常量必须用 F 或 f 为后缀。double 常量用 D 或 d 为后缀,但允许省略后缀。5一维数组名.length。二维数组名.length

7、。二、选择题2下列哪三项是正确的 float 变量的声明?adf A.float foo=-1;B.float foo=1.0;C.float foo=42e1;D.float foo=2.02f;E.float foo=3.03d;F.float foo=0 x0123;3下列哪一项叙述是正确的?bA.char 型字符在 Unicode 表中的位置范围是 0 至 32767B.char 型字符在 Unicode 表中的位置范围是 0 至 65535C.char 型字符在 Unicode 表中的位置范围是 0 至 65536D.char 型字符在 Unicode 表中的位置范围是-32768

8、至 327674以下哪两项是正确的 char 型变量的声明?beA.char ch=R;B.char ch=C.char ch=ABCD;D.char ch=ABCD;E.char ch=ucafe;F.char ch=u101005下列程序中哪些【代码】是错误的?2345public class E public static void main(String args)int x=8;byte b=127;/【代码 1】b=x;/【代码 2】x=12L;/【代码 3】long y=8.0;/【代码 4】float z=6.89;/【代码 5】6对于 int a=new int3;下列哪个叙

9、述是错误的?bA.a.length 的值是 3。B.a1的值是 1。C.a0的值是 0。D.aa.length-1的值等于 a2的值。1C。2ADF。3B。4BE。5【代码 2】【代码 3】【代码 4】【代码 5】。6B。三、阅读或调试程序1属于操作题,解答略。2属于操作题,解答略。3属于操作题,解答略。4.下列程序标注的【代码 1】,【代码 2】的输出结果是什么?public class E public static void main(String args)long a=1,2,3,4;long b=100,200,300,400,500;b=a;System.out.println(

10、数组 b 的长度:+b.length);/【代码 1】System.out.println(b0=+b0);/【代码 2】5.下列程序标注的【代码 1】,【代码 2】的输出结果是什么?public class E public static void main(String args)int a=10,20,30,40,b=1,2,4,5,6,7;b0=a;b01=b13;System.out.println(b03);/【代码 1】System.out.println(a1);/【代码 2】4【代码 1】:4。【代码 2】:b0=1。5【代码 1】:40。【代码 2】:7四、编写程序1编写一

11、个应用程序,给出汉字你、我、他在 Unicode 表中的位置。2编写一个 Java 应用程序,输出全部的希腊字母。1.public class E public static void main(String args)System.out.println(int)你);System.out.println(int)我);System.out.println(int)他);2.public class E public static void main(String args)char cStart=,cEnd=;for(char c=cStart;c0 Bm+0 Cm=0 Dm100&tru

12、epublic class E public static void main(String args)int m=10,n=0;while(【代码】)n+;3假设有 int x=1;以下哪个代码导致“可能损失精度,找到 int 需要 char”这样的编译错误。cAshort t=12+a;Bchar c=a+1;Cchar m=a+x;Dbyte n=a+1;1A。2C。3C。三、阅读程序1下列程序的输出结果是什么?public class E public static void main(String args)char x=你,y=e,z=吃;if(xA)y=苹;z=果;else y=

13、酸;z=甜;System.out.println(x+,+y+,+z);2.下列程序的输出结果是什么?public class E public static void main(String args)char c=0;for(int i=1;i0)x-;System.out.print(x=+x+,y=+y);x=0,y=5x=-1,y=4x=-2,y=3x=-3,y=2x=-4,y=1x=-5,y=0 x=-5,y=-11你,苹,甜2Jeep 好好3x=-5,y=-1四、编程序题1编写应用程序求 1!+2!+10!。2编写一个应用程序求 100 以内的全部素数。3分别用 do-while

14、 和 for 循环计算 1+1/2!+1/3!+1/4!的前 20 项和。4一个数如果恰好等于它的因子之和,这个数就称为“完数”。编写应用程序求 1000 之内的所有完数。5编写应用程序,使用 for 循环语句计算 8+88+888前 10 项之和。6编写应用程序,输出满足 1+2+3+n8888 的最大正整数 n。1public class Xiti1 public static void main(String args)double sum=0,a=1;int i=1;while(i=20)sum=sum+a;i+;a=a*i;System.out.println(sum=+sum);2

15、public class Xiti2 public static void main(String args)int i,j;for(j=2;j=100;j+)for(i=2;ij/2)System.out.print(+j);3class Xiti3 public static void main(String args)double sum=0,a=1,i=1;do sum=sum+a;i+;a=(1.0/i)*a;while(i=20);System.out.println(使用 do-while 循环计算的 sum=+sum);for(sum=0,i=1,a=1;i=20;i+)a=a

16、*(1.0/i);sum=sum+a;System.out.println(使用 for 循环计算的 sum=+sum);4public class Xiti4 public static void main(String args)int sum=0,i,j;for(i=1;i=1000;i+)for(j=1,sum=0;ji;j+)if(i%j=0)sum=sum+j;if(sum=i)System.out.println(完数:+i);5public class Xiti5 public static void main(String args)int m=8,item=m,i=1;lo

17、ng sum=0;for(i=1,sum=0,item=m;i=8888)break;System.out.println(满足条件的最大整数:+(n-1);习题习题 4(第(第 4 章)章)一、问答题1面向对象语言有哪三个特性?2类名应当遵守怎样的编程风格?3变量和方法的名字应当遵守怎样的编程风格?4类体内容中声明成员变量是为了体现对象的属性还是行为?5类体内容中定义的非构造方法是为了体现对象的属性还是行为?6什么时候使用构造方法?构造方法有类型吗?7类中的实例变量在什么时候会被分配内存空间?8什么叫方法的重载?构造方法可以重载吗?9类中的实例方法可以操作类变量(static 变量)吗?类方

18、法(static 方法)可以操作实例变量吗?可以。不可以。10类中的实例方法可以用类名直接调用吗?8一个类中可以有多个方法具有相同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。可以。9 10不可以。11简述类变量和实例变量的区别。12this 关键字代表什么?this 可以出现在类方法中吗?1.封装、继承和多态。2当类名由几个单词复合而成时,每个单词的首字母使用大写。3名字的首单词的首字母使用小写,如果变量的名字由多个单词组成,从第 2 个单词开始的其它单词的首字母使用大写。4属性5行为6用类创建对象时。没有类型7用类创建对象时。8一个类中可以有多个方法具有相

19、同的名字,但这些方法的参数必须不同,即或者是参数的个数不同,或者是参数的类型不同。可以。9可以。不可以。10不可以。11一个类通过使用 new 运算符可以创建多个不同的对象,不同的对象的实例变量将被分配不同的内存空间。所有对象的类变量都分配给相同的一处内存,对象共享类变量。12代表调用当前方法的对象。不可以。二、选择题1下列哪个叙述是正确的?bA.Java 应用程序由若干个类所构成,这些类必须在一个源文件中。B.Java 应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。C.Java 源文件必须含有主类。D.Java 源文件如果含有主

20、类,主类必须是 public 类。2下列哪个叙述是正确的?dA.成员变量的名字不可以和局部变量的相同。B.方法的参数的名字可以和方法中声明的局部变量的名字相同。C.成员变量没有默认值。D.局部变量没有默认值。3对于下列 Hello 类,哪个叙述是正确的?dA.Hello 类有 2 个构造方法。B.Hello 类的 int Hello()方法是错误的方法。C.Hello 类没有构造方法。D.Hello 无法通过编译,因为其中的 hello 方法的方法头是错误的(没有类型)。class Hello Hello(int m)int Hello()return 20;hello()4对于下列 Dog

21、类,哪个叙述是错误的?dA.Dog(int m)与 Dog(double m)互为重载的构造方法。B.int Dog(int m)与 void Dog(double m)互为重载的非构造方法。C.Dog 类只有两个构造方法,而且没有无参数的构造方法。D.Dog 类有 3 个构造方法。class Dog Dog(int m)Dog(double m)int Dog(int m)return 23;void Dog(double m)构造方法是一种特殊的方法,与一般的方法不同是:1.构造方法的名字必须与定义他的类名完全相同,没有返回类型,甚至连 void 也没有。2.构造方法的调用是在创建一个对象

22、时使用 new 操作进行的。构造方法的作用是初始化对象。3.不能被 static、final、synchronized、abstract 和 native 修饰。构造方法不能被子类继承。5下列哪些类声明是错误的?cdA)class AB)public class AC)protected class AD)private class A6下列 A 类中【代码 1】【代码 5】哪些是错误的?1 4class Tom private int x=120;protected int y=20;int z=11;private void f()x=200;System.out.println(x);v

23、oid g()x=200;System.out.println(x);public class A public static void main(String args)Tom tom=new Tom();tom.x=22;/【代码 1】tom.y=33;/【代码 2】tom.z=55;/【代码 3】tom.f();/【代码 4】tom.g();/【代码 5】7下列 E 类的类体中哪些【代码】是错误的。4class E int x;/【代码 1】long y=x;/【代码 2】public void f(int n)int m;/【代码 3】int t=n+m;/【代码 4】1 1B。2 2

24、D。3 3D。4 4D。5 5CD。6 6【代码 1】【代码 4】。7 7【代码 4】。三、阅读程序1说出下列 E 类中【代码 1】【代码 3】的输出结果。class Fish int weight=1;class Lake Fish fish;void setFish(Fish s)fish=s;void foodFish(int m)fish.weight=fish.weight+m;public class E public static void main(String args)Fish redFish=new Fish();System.out.println(redFish.we

25、ight);/【代码 1】Lake lake=new Lake();lake.setFish(redFish);lake.foodFish(120);System.out.println(redFish.weight);/【代码 2】System.out.println(lake.fish.weight);/【代码 3】2请说出 A 类中 System.out.println 的输出结果。class B int x=100,y=200;public void setX(int x)x=x;public void setY(int y)this.y=y;public int getXYSum()

26、return x+y;public class A public static void main(String args)B b=new B();b.setX(-100);b.setY(-200);System.out.println(sum=+b.getXYSum();3请说出 A 类中 System.out.println 的输出结果。class B int n;static int sum=0;void setN(int n)this.n=n;int getSum()for(int i=1;i=n;i+)sum=sum+i;return sum;public class A publi

27、c static void main(String args)B b1=new B(),b2=new B();b1.setN(3);b2.setN(5);int s1=b1.getSum();int s2=b2.getSum();System.out.println(s1+s2);4请说出 E 类中【代码 1】,【代码 2】的输出结果 n 的输出结果。class A double f(int x,double y)return x+y;int f(int x,int y)return x*y;public class E public static void main(String args)

28、A a=new A();System.out.println(a.f(10,10);/【代码 1】System.out.println(a.f(10,10.0);/【代码 2】5上机实习下列程序,了解可变参数。public class E public static void main(String args)f(1,2);f(-1,-2,-3,-4);/给参数传值时,实参的个数很灵活 f(9,7,6);public static void f(int.x)/x 是可变参数的代表,代表若干个 int 型参数 for(int i=0;ix.length;i+)/x.length 是 x 代表的参

29、数的个数 System.out.println(xi);/xi是 x 代表的第 i 个参数(类似数组)6类的字节码进入内存时,类中的静态块会立刻被执行。实习下列程序,了解静态块。class AAA static /静态块 System.out.println(我是 AAA 中的静态块!);public class E static /静态块 System.out.println(我是最先被执行的静态块!);public static void main(String args)AAA a=new AAA();/AAA 的字节码进入内存 System.out.println(我在了解静态(sta

30、tic)块);1 1【代码 1】:1,【代码 2】:121,【代码 3】:121。2 2sum=-100。3.3.27。4 4【代码 1】:100,【代码 2】:20.0。5.5.上机实习题目,解答略。6.6.上机实习题目,解答略。四、编程题用类描述计算机中 CPU 的速度和硬盘的容量。要求 Java 应用程序有 4 个类,名字分别是 PC,CPU 和 HardDisk 和 Test,其中 Test 是主类。PC 类与 CPU 和 HardDisk 类关联的 UML 图(图 4.33)其中,CPU 类要求 getSpeed()返回 speed 的值;要求 setSpeed(int m)方法将参

31、数 m 的值赋值给 speed。HardDisk 类要求 getAmount()返回 amount 的值,要求 setAmount(int m)方法将参数 m 的值赋值给 amount。PC 类要求 setCUP(CPU c)将参数 c 的值赋值给 cpu,要求 setHardDisk(HardDisk h)方法将参数 h 的值赋值给 HD,要求 show()方法能显示 cpu的速度和硬盘的容量。主类 Test 的要求 main 方法中创建一个 CPU 对象 cpu,cpu 将自己的 speed 设置为 2200,main 方法中创建一个 HardDisk 对象 disk,disk 将自己的

32、amount 设置为 200,main 方法中创建一个 PC 对象 pc,pc 调用 setCUP(CPU c)方法,调用时实参是 cpu,pc 调用 setHardDisk(HardDisk h)方法,调用时实参是 disk,pc 调用 show()方法。CPU.javapublic class CPU int speed;int getSpeed()return speed;public void setSpeed(int speed)this.speed=speed;HardDisk.java图 4.33 PC 与 CPU 和 HardDisk 关联 UML 图PCcpu:CPUHD:H

33、ardDisksetCPU(CPU):voidsetHardDisk(HardDisk):voidshow():voidCPUspeed:intsetSpeed(int):voidgetSpeed():intHardDiskamount:intsetAmount(int):voidgetAmount():intpublic class HardDisk int amount;int getAmount()return amount;public void setAmount(int amount)this.amount=amount;PC.javapublic class PC CPU cpu

34、;HardDisk HD;void setCPU(CPU cpu)this.cpu=cpu;void setHardDisk(HardDisk HD)this.HD=HD;void show()System.out.println(CPU 速度:+cpu.getSpeed();System.out.println(硬盘容量:+HD.getAmount();Test.javapublic class Test public static void main(String args)CPU cpu=new CPU();HardDisk HD=new HardDisk();cpu.setSpeed(

35、2200);HD.setAmount(200);PC pc=new PC();pc.setCPU(cpu);pc.setHardDisk(HD);pc.show();习题习题 5(第(第 5 章)章)一、问答题1子类可以有多个父类吗?2java.lang 包中的 Object 类是所有其他类的祖先类吗?3如果子类和父类不在同一个包中,子类是否继承父类的友好成员?4子类怎样隐藏继承的成员变量?5子类重写方法的规则是怎样的?重写方法的目的是什么?6父类的 final 方法可以被子类重写吗?7什么类中可以有 abstract 方法?8对象的上转型对象有怎样的特点?9一个类的各个子类是怎样体现多态的?

36、10面向抽象编程的目的和核心是什么?1不可以。2是。3不继承。4声明与父类同名的成员变量。5子类重写的方法类型和父类的方法的类型一致或者是父类的方法的类型的子类型,重写的方法的名字、参数个数、参数的类型和父类的方法完全相同。重写方法的目的是隐藏继承的方法,子类通过方法的重写可以把父类的状态和行为改变为自身的状态和行为。6不可以。7abstract 类。8上转型对象不能操作子类新增的成员变量,不能调用子类新增的方法。上转型对象可以访问子类继承或隐藏的成员变量,可以调用子类继承的方法或子类重写的实例方法。9通过重写方法。10面向抽象编程目的是为了应对用户需求的变化,核心是让类中每种可能的变化对应地

37、交给抽象类的一个子类类去负责,从而让该类的设计者不去关心具体实现。二、选择题1下列哪个叙述是正确的?cE.子类继承父类的构造方法。F.abstract 类的子类必须是非 abstract 类。G.子类继承的方法只能操作子类继承和隐藏的成员变量。H.子类重写或新增的方法也能直接操作被子类隐藏的成员变量。2下列哪个叙述是正确的?dA.final 类可以有子类。B.abstract 类中只可以有 abstract 方法。C.abstract 类中可以有非 abstract 方法,但该方法不可以用 final 修饰。D.不可以同时用 final 和 abstract 修饰同一个方法。E.允许使用 st

38、atic 修饰 abstract 方法。用 final 修饰的类是不允许被继承的,A 错误 abstract 类中也可以有普通成员方法,B 错误 abstract 类中的非 abstract 方法是可以用 final 修饰的,而 abstract 方法是不可以被 final修饰的,C 错误 D 同上,所以正确 不允许使用 static 修饰 abstract 方法,E 错误。3下列程序中注释的哪两个代码(A,B,C,D)是错误的(无法通过编译)?cdclass Father private int money=12;float height;int seeMoney()return money

39、;/A class Son extends Father int height;int lookMoney()int m=seeMoney();/B return m;class E public static void main(String args)Son erzi=new Son();erzi.money=300;/C erzi.height=1.78F;/D 4假设 C 是 B 的子类,B 是 A 的子类,cat 是 C 类的一个对象,bird 是 B 类的一个对象,下列哪个叙述是错误的?dE.cat instanceof B 的值是 true。F.bird instanceof A

40、 的值是 true。G.cat instanceof A 的值是 true。H.bird instanceof C 的值是 true。5下列程序中注释的哪个代码(A,B,C,D)是错误的(无法通过编译)?bclass A static int m;static void f()m=20;/A class B extends A void f()/B m=222;/C class E public static void main(String args)A.f();/D 6.下列代码中标注的(A,B,C,D)中,哪一个是错误的?babstract class Takecare protecte

41、d void speakHello()/A public abstract static void cry();/B static int f()return 0;/C abstract float g();/D7下列程序中注释的哪个代码(A,B,C,D)是错误的(无法通过编译)?dabstract class A abstract float getFloat();/A void f()/B public class B extends A private float m=1.0f;/C private float getFloat()/D return m;8将下列哪个代码(A,B,C,D

42、)放入程序中标注的【代码】处将导致编译错误?bA.public float getNum()return 4.0f;B.public void getNum()C.public void getNum(double d)D.public double getNum(float d)return 4.0d;class A public float getNum()return 3.0f;public class B extends A 【代码】9对于下列代码,下列哪个叙述是正确的?aA.程序提示编译错误(原因是 A 类没有不带参数的构造方法)B.编译无错误,【代码】输出结果是 0。C.编译无错误

43、,【代码】输出结果是 1。D.编译无错误,【代码】输出结果是 2。class A public int i=0;A(int m)i=1;public class B extends A B(int m)i=2;public static void main(String args)B b=new B(100);System.out.println(b.i);/【代码】1C。2D。3CD。4D。5B。6B。7D。8B。9A。三、阅读程序1请说出 E 类中【代码 1】,【代码 2】的输出结果。class A double f(double x,double y)return x+y;class B

44、 extends A double f(int x,int y)return x*y;public class E public static void main(String args)B b=new B();System.out.println(b.f(3,5);/【代码 1】System.out.println(b.f(3.0,5.0);/【代码 2】2说出下列 B 类中【代码 1】,【代码 2】的输出结果。class A public int getNumber(int a)return a+1;class B extends A public int getNumber(int a)

45、return a+100;public static void main(String args)A a=new A();System.out.println(a.getNumber(10);/【代码 1】a=new B();System.out.println(a.getNumber(10);/【代码 2】3请说出 E 类中【代码 1】【代码 4】的输出结果。class A double f(double x,double y)return x+y;static int g(int n)return n*n;class B extends A double f(double x,double

46、 y)double m=super.f(x,y);return m+x*y;static int g(int n)int m=A.g(n);return m+n;public class E public static void main(String args)B b=new B();System.out.println(b.f(10.0,8.0);/【代码 1】System.out.println(b.g(3);/【代码 2】A a=new B();System.out.println(a.f(10.0,8.0);/【代码 3】System.out.println(a.g(3);/【代码

47、4】4请说出 E 类中【代码 1】【代码 3】的输出结果。class A int m;int getM()return m;int seeM()return m;class B extends A int m;int getM()return m+100;public class E public static void main(String args)B b=new B();b.m=20;System.out.println(b.getM();/【代码 1】A a=b;a.m=-100;/上转型对象访问的是被隐藏的 m System.out.println(a.getM();/【代码 2】

48、上转型对象调用的一定是子类重写的 getM()方法 System.out.println(b.seeM();/【代码 3】子类继承的 seeM()方法操作的 m 是被子类隐藏的 m 1【代码 1】:15.0。【代码 2】:8.0。2【代码 1】:11。【代码 2】:11。3【代码 1】:98.0。【代码 2】:12。【代码 3】:98.0。【代码 4】:9。4【代码 1】:120。【代码 2】:120。【代码 3】:-100。四、编程题设计一个动物声音“模拟器”,希望模拟器可以模拟许多动物的叫声。要求如下:编写抽象类 AnimalAnimal 抽象类有 2 个抽象方法 cry()和 getAn

49、imaName(),即要求各种具体的动物给出自己的叫声和种类名称。编写模拟器类 Simulator该类有一个 playSound(Animal animal)方法,该方法的参数是 Animal 类型。即参数animal 可以调用 Animal 的子类重写的 cry()方法播放具体动物的声音、调用子类重写的getAnimalName()方法显示动物种类的名称。编写 Animal 类的子类:Dog,Cat 类图 5.18 是 Simulator、Animal、Dog、Cat 的 UML 图。编写主类 Application(用户程序)在主类 Application 的 main 方法中至少包含如下

50、代码:Simulator simulator=new Simulator();simulator.playSound(new Dog();simulator.playSound(new Cat();Animal.javaAnimal.javapublic abstract class Animal 图 5.18 UML 类图Dogcry():void eCatcry():voidAnimalcry():voidgetAnimalName():StringSimulatorplaySound(Animal):void public abstract void cry();public abstr

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服