Java习题三1剖析.docx
- 文档编号:25637266
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:24
- 大小:20.93KB
Java习题三1剖析.docx
《Java习题三1剖析.docx》由会员分享,可在线阅读,更多相关《Java习题三1剖析.docx(24页珍藏版)》请在冰豆网上搜索。
Java习题三1剖析
1.有关类Demo,哪句描述是正确的?
publicclassDemoextendsBase
{
privateintcount;
publicDemo()
{
System.out.println("ADemoobjecthasbeencreated");
}
protectedvoidaddOne()
{
count++;
}
}
1当创建一个Demo类的实例对象时,count的值为0。
2当创建一个Demo类的实例对象时,count的值是不确定的。
3超类对象中可以包含改变count值的方法。
4Demo的子类对象可以访问count。
2.当编译和运行下列程序段时,会发生什么?
classBase{}
classSubextendsBase{}
classSub2extendsBase{}
publicclassCex
{
publicstaticvoidmain(Stringargv[])
{
Baseb=newBase();
Subs=(Sub)b;
}
}
1通过编译和并正常运行。
2编译时出现例外。
3编译通过,运行时出现例外。
ClassCaseException
3.如果任何包中的子类都能访问超类中的成员,那么应使用哪个限定词?
1public
2private
3protected
4transient
4.下面的哪个选项是正确的?
classExSuper
{
Stringname;
Stringnick_name;
publicExSuper(Strings,Stringt)
{
name=s;
nick_name=t;
}
publicStringtoString()
{
returnname;
}
}
publicclassExampleextendsExSuper
{
publicExample(Strings,Stringt)
{
super(s,t);
}
publicStringtoString()
{
returnname+"a.k.a"+nick_name;
}
publicstaticvoidmain(Stringargs[])
{
ExSupera=newExSuper("First","1st");
ExSuperb=newExample("Second","2nd");
System.out.println("ais"+a.toString());
System.out.println("bis"+b.toString());
}
}
1编译时会出现例外。
2运行结果为:
aisFirst
bissecond
3运行结果为:
aisFirst
bisSeconga.k.a2nd
4运行结果为:
aisFirsta.k.a1nd
bisSeconda.k.a2nd
5.运行下列程序的结果是哪个?
abstractclassMineBase
{
abstractvoidamethod();
staticinti;
}
publicclassMineextendsMineBase
{
publicstaticvoidmain(Stringargv[])
{
int[]ar=newint[5];
for(i=0;i System.out.println(ar[i]); } } 1打印5个0。 2编译出错,数组ar[]必须初始化。 3编译出错,Mine应声明为abstract。 4出现IndexOutOfBoundes的例外。 6.下面哪个语句是正确的? 1Objecto=newButton("A"); 2Buttonb=newObject("B"); 3Panelp=newFrame(); 4Framef=newPanel(); 5Panelp=newPanel(); 7.指出下列程序的所有错误? finalclassFirst { privateinta=1; intb=2; } classSecondextendsFirst { publicvoidmethod() { System.out.println(a+b); } } 1println()参数应为字符串,因此此处不能调用该方法。 2因为变量a是private,所以在其他类中不能访问a。 3Second不能继承First。 4关键字final不能修饰类。 8.接口A的定义如下,指出下列哪些类实现了该接口? interfaceA { intmethod1(inti); intmethod2(intj); } 1classBimplementsA { intmethod1(){} intmethod2(){} } 2classB { intmethod1(inti){} intmethod2(intj){} } 3classBimplementsA { intmethod1(inti){} intmethod2(intj){} } 4classBextendsA { intmethod1(inti){} intmethod2(intj){} } 5classBimplementsA { intmethod2(intj){} intmethod1(inti){} } 9.在//pointx处的哪些声明是句法上合法的 classPerson { privateinta; publicintchange(intm) { returnm; } } publicclassTeacherextendsPerson { publicintb; publicstaticvoidmain(Stringarg[]) { Personp=newPerson(); Teachert=newTeacher(); inti; //pointx } } 1i=m; 2i=b; 3i=p.a; 4i=p.change(30); 5i=t.b. 10.下面的哪些叙述为真 1equals()方法判定引用值是否指向同一对象 2==操作符判定两个分立的对象的内容和类型是否一致。 3equals()方法只有在两个对象的内容一致时返回true。 4类File重写方法equals()在两个分立的对象的内容和类型一致时返回true。 严格来说这个问题的答案是不确定的,因为equals()方法是可以被重载的,但是按照java语言的本意来说: 如果没有重写(override)新类的equals(),则该方法和==操作符一样在两个变量指向同一对象时返回真,但是java推荐的是使用equals()方法来判断两个对象的内容是否一样,就像String类的equals()方法所做的那样: 判定两个String对象的内容是否相同,而==操作符返回true的唯一条件是两个变量指向同一对象。 从这个意义上来说选择给定的答案。 从更严格的意义来说正确答案应该只有d 11.下面关于继承的哪些叙述是正确的。 1equals()方法只有在两个对象的内容一致时返回true。 2在java中一个类只能实现一个接口。 3在java中一个类不能同时继承一个类和实现一个接口。 4类File重写方法equals()在两个分立的对象的内容和类型一致时返回true。 12.1)classPerson{ 2)publicvoidprintValue(inti,intj){/*…*/} 3)publicvoidprintValue(inti){/*...*/} 4)} 5)publicclassTeacherextendsPerson{ 6)publicvoidprintValue(){/*...*/} 7)publicvoidprintValue(inti){/*...*/} 8)publicstaticvoidmain(Stringargs[]){ 9)Persont=newTeacher(); 10)t.printValue(10); 11)} 12)} 第十行的声明将调用哪些方法。 ①online2 ②online3 ③online6 ④online7 上转型对象调用子类中继承的或者重写的方法 13.publicvoidtest() { try { oneMethod(); System.out.println("condition1"); } catch(ArrayIndexOutOfBoundsExceptione) { System.out.println("condition2"); } catch(Exceptione) { System.out.println("condition3"); } finally { System.out.println("finally"); } } 在oneMethod()方法运行正常的情况下将显示什么? ①condition1 ②condition2 ③condition3 ④finally 14.在JavaAPI文档中下面的哪些部分被包括在内 ①类及用途的描述 ②父类的方法的列表 ③成员变量的列表 ④类层次 15.publicclassParent { publicintaddValue(inta,intb) { ints; s=a+b; returns; } } classChildextendsParent { } 哪些方法可以加入类Child中 ①intaddValue(inta,intb){//dosomething...} ②publicvoidaddValue(){//dosomething...} ③publicintaddValue(inta){//dosomething...} ④publicintaddValue(inta,intb)throwsMyException{//dosomething...} 16.下面的那个java源文件代码片断是对的。 ①packagetestpackage; publicclassTest{//dosomething...} ②importjava.io.*; packagetestpackage; publicclassTest{//dosomething...} ③importjava.io.*; classPerson{//dosomething...} publicclassTest{//dosomething...} ④importjava.io.*; importjava.awt.*; publicclassTest{//dosomething...} 17.publicclassParent { intchange(){…} } classChildextendsParent { } 哪些方法可被加入类Child。 ①publicintchange(){} ②intchange(inti){} ③privateintchange(){} ④abstractintchang(){} 18.classParent { Stringone,two; publicParent(Stringa,Stringb) { one=a; two=b; } publicvoidprint(){System.out.println(one);} } publicclassChildextendsParent { publicChild(Stringa,Stringb) { super(a,b); } publicvoidprint() { System.out.println(one+"to"+two); } publicstaticvoidmain(Stringarg[]) { Parentp=newParent("south","north"); Parentt=newChild("east","west"); p.print(); t.print(); } } ①在编译时出错。 ②south east ③southtonorth easttowest ④southtonorth east ⑤south easttowest 19.给出下面的代码: 1)classParent{ 2)privateStringname; 3)publicParent(){} 4)} 5)publicclassChildextendsParent{ 6)privateStringdepartment; 7)publicChild(){} 8)publicStringgetValue(){returnname;} 9)publicstaticvoidmain(Stringarg[]){ 10)Parentp=newParent(); 11)} 12)} 哪些行将导致错误。 ①line3 ②line6 ③line7 ④line8//privateaccess ⑤line10 20.类Teacher和Student都是类Person的子类 p,t和s都是非空值 if(tinstanceofPerson){s=(Student)t;} 这个语句导致的结果是什么 ①将构造一个Student对象。 ②表达式合法。 ③编译时非法。 ④编译时合法而在运行时可能非法。 21.给出下面的代码: classPerson { Stringname,department; publicvoidprintValue() { System.out.println("nameis"+name); System.out.println("departmentis"+department); } } publicclassTeacherextendsPerson { intsalary; publicvoidprintValue() { //doingthesameasintheparentmethodprintValue() //includingprintthevalueofnameanddepartment. System.out.println("salaryis"+salary); } } 下面的哪些表达式可以加入printValue()方法的"doingthesameas..."部分。 ①printValue(); ②this.printValue(); ③person.printValue(); ④super.printValue(). 22.给出下面的不完整的方法: 1) 2){success=connect(); 3)if(success==-1){ 4)thrownewTimedOutException(); 5)} 6)} TimedOutException不是一个RuntimeException。 下面的哪些声明可以被加入第一行完成此方法的声明。 ①publicvoidmethod() ②publicvoidmethod()throwsException ③publicvoidmethod()throwsTimedOutException ④publicvoidmethod()throwTimedOutException ⑤publicthrowTimedOutExceptionvoidmethod() 23.定义一个类名为"MyClass.java"的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为: ①privateclassMyClassextendsObject ②classMyClassextendsObject ③publicclassMyClass ④publicclassMyClassextendsObject 24.哪个关键字可以抛出异常? ①transient ②finally ③throw ④static 25.System类在哪个包中? ①java.util ②java.io ③java.awt ④java.lang 26.运行下列程序,会产生什么结果: classOuter1 { privateinta; voidfoo(doubled,finalfloatf) { Strings; finalbooleanb; classInner { voidmethodInner() { System.out.println("intheInner"); } } } publicstaticvoidmain(Stringargs[]) { Outer1me=newOuter1(); me.foo(123,123); System.out.println("outer"); } } outer 27.下列方法属于java.lang.Math类的有(方法名相同即可): ①random() ②abs() ③sqrt() ④sin() 28.下面程序的运行结果是什么? publicclassTestextendsTT { publicstaticvoidmain(Stringargs[]) { Testt=newTest("Tom"); } publicTest(Strings) { super(s); System.out.println("Howdoyoudo? "); } publicTest() { this("IamTom"); } } classTT { publicTT() { System.out.println("Whatapleasure! "); } publicTT(Strings) { this(); System.out.println("Iam"+s); } } Whatapleasure! IamTom Howdoyoudo? 29.给定下面的未完成的代码片断: publicclassExample { intx,y; publicExample(inta) { … x=a; } publicExample(inta,intb) { //和上面一个参数的构造方法做同样的操作,包括赋值 x=ay=b; } } 如果要用最简捷的一行代码实现"//和上面一个参数的…"注释所指出的功能,请写出你认为最合适的一行代码: 30.final,finally,finalize的区别? 31.abstractclass和interface有什么区别? 32.StaticNestedClass和InnerClass的不同? 33.接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concreteclass)? (抽象类是否可继承实体类,但前提是实体类必须有明确的构造函数) 34.数组有没有length()这个方法? String有没有length()这个方法? 35.Constructor是否可被override? 36.是否可以继承String类? 不能publicfinalclassString 37.try{}里有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后? 38.abstractclassName { privateStringname; publicabstractbooleanisStupidName(Stringname){}//抽象方法只声明不实现,所以没有{}而加; } 是否有错,若有,说明错误原因 39.publicclassSomething { voiddoSometh
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 习题 剖析