Java习题三1剖析.docx

上传人:b****7 文档编号:25637266 上传时间:2023-06-11 格式:DOCX 页数:24 大小:20.93KB
下载 相关 举报
Java习题三1剖析.docx_第1页
第1页 / 共24页
Java习题三1剖析.docx_第2页
第2页 / 共24页
Java习题三1剖析.docx_第3页
第3页 / 共24页
Java习题三1剖析.docx_第4页
第4页 / 共24页
Java习题三1剖析.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

Java习题三1剖析.docx

《Java习题三1剖析.docx》由会员分享,可在线阅读,更多相关《Java习题三1剖析.docx(24页珍藏版)》请在冰豆网上搜索。

Java习题三1剖析.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1