System.out.println(names[2]);}
}
命令行执行:
javaXab命令后,其输出结果是下面哪一个?
A.namesB.bC.nullD.运行出现异常
29.哪种方法返回String中的字符数?
(B)。
A.size()B.length()C.width()D.girth()
30.下面哪个不是String类的方法?
(C)
A.subString()B.startsWith()C.toString()D.toUpperCase()
31.关于以下程序段,正确的说法是(C)
1. String s1=“a”+“b”;
2.String s2=new String(s1);
3.if(s1==s2)
4. System.out.println(“== issucceeded”);
5. if(s1.equals(s2))
6. System.out.println(“.equals()issucceeded”);
A.行4与行6都将执行 B.行4执行,行6不执行
C.行6执行,行4不执行 D.行4行6都不执行
32.下面关于java中类的说法哪个是不正确的?
(C)
A.类体中不仅可以有变量定义和成员方法的定义,还可包含静态代码块。
B.构造方法是类中的特殊方法。
C.类一定要声明为public的,才可以执行。
D.一个java文件中可以有多个class定义。
33.下面关于变量及其范围的陈述哪个是不对的?
(B)
A.实例变量是类的成员变量
B.实例变量用关键字static声明
C.在方法中定义的局部变量在该方法被执行时创建
D.局部变量在使用前必须被初始化
34.下列类的定义中,错误的是(B)。
A.classx{....}B.publicxextendsy{....}(p66)
C.publicclassxextendsy{....}
D.classxextendsyimplementsy1{....}
35.下面是程序ObjectText.java的代码段:
classEmpty{}
publicclassObjectTest{
publicstaticvoidmain(String[]args){
Emptyem=newEmpty();
}
}
以下错误的结论是(A)。
A.类Empty是空的,既没有成员变量也没有成员方法
B.类Empty非空,有一个默认的构造方法
C.类Empty中有一个构造方法Empty()
D.类Empty能够被继承
36.下列应用程序打印多少行?
(D)
publicclasshellotest
{{System.out.println("hello.");}
publicstaticvoidmain(String[]args){
newhellotest();newhellotest();newhellotest();}
}
A.0B.1C.2D.3
37.假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?
(C)
classA
{inti;
staticStrings;
voidmethod1(){}
staticvoidmethod2(){}
}
A.System.out.println(a.i);B.a.method1();
C.A.method1();D.A.method2();
38.看下面一段程序:
classAclass
{
voidgo()
{System.out.println("Aclass");}
}
publicclassBclassextendsAclass
{
voidgo()
{System.out.println("Bclass");}
publicstaticvoidmain(Stringargs[]){
Aclassa=newAclass();
Aclassa1=newBclass();
a.go();
a1.go();
}
}
以上程序运行结果是:
(C)
A.AclassB.BclassC.AclassD.Bclass
AclassBclassBclassAclass
39.哪一行定义了一个静态变量?
(A)
A.publicstaticinti;B.staticpublicinti;
C.publicintstatici;D.intpublicstatici;
40.MAX_LENGTH是int型public成员变量,变量值保持为常量100,其定义是(C)。
A.finalpublicintMAX_LENGTH=100;B.publicintMAX_LENGTH=100;
C.publicfinalintMAX_LENGTH=100;D.finalintMAX_LENGTH=100;
41.若在某个类中定义了如下的方法:
finalvoidaFinalFunction();,则该方法属于(C)。
A.本地方法B.静态方法C.最终方法D.抽象方法
42.MyClass类的默认构造方法是哪一个?
(B)
A.newMyClass()B.MyClass(){}
C.MyClass{}D.publicclassMyClass
43.构造方法何时被调用(B)
A.类定义时 B.创建对象时
C.调用对象方法时 D.使用对象的变量时
44.对于构造方法,下列叙述不正确的是(B)。
A.构造方法是类的一种特殊方法,它的方法名必须与类名相同。
B.构造方法的返回类型只能是void型,且书写格式是在方法名前加void前缀。
C.构造方法的主要作用是完成对类的对象的初始化工作。
D.一般在创建新对象时,系统会自动调用构造方法。
45.给出下面代码段
1.publicclassTest
2.{intm,n;
3.publicTest(){}
4.publicTest(inta){m=a;}
5.publicstaticvoidmain(Stringarg[]){
6.Testt1,t2;
7.intj,k;
8.j=0;k=0;
9.t1=newTest();
10.t2=newTest(j,k);
11.}
12.}
哪行将引起一个编译时错误?
(D)
A.line3B.line5C.line6D.line10
46.在成员方法的访问控制修饰符中,下列哪个修饰符规定访问权限包含该类自身及同包的其他类和其他包的该类子类(B)。
A.默认B.protectedC.privateD.public
47.关于被私有访问控制符private修饰的成员变量,以下说法正确的是( C)
A.可以被三种类所引用:
该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:
该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问
48.下面哪个修饰符修饰的方法只能被本类中的其他方法使用(C)
A.protectedB.staticC.privateD.public
49.下面关于继承的哪些叙述是正确的?
(D)
A.在java中允许多继承。
B.在java中一个类只能实现一个接口。
C.在java中一个类不能同时继承一个类和实现一个接口。
D.java的单一继承使代码更可靠。
50.下面关于类的继承性的描述中,错误的是(C)。
A.继承是在已有的基础上生成新类的一种方法
B.Java语言要求一个子类只有一个父类
C.父类中成员的访问权限在子类中将被改变
D.子类继承父类的所有成员,但不包括私有的成员方法
51.下面叙述中,错误的是(C)。
A.子类继承父类B.子类能替代父类
C.父类包含子类D.父类不能替代子类
52.对于下列代码:
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.}
第10行语句将调用哪行语句?
(D)
A.line2B.line3C.line6D.line7
53.类Test1定义如下:
1.publicclassTest1{
2.publicfloataMethod(floata,floatb){}
3.
4.}
将以下哪种方法插入行3是不合法的。
(B)
A.publicfloataMethod(floata,floatb,floatc){}
B.publicfloataMethod(floatc,floatd){}
C.publicintaMethod(inta,intb){}
D.privatefloataMethod(inta,intb,intc){}
54.下列关于抽象类的描述中,错误的是(C)。
A.抽象类是用修饰符abstract说明的B.抽象类是不可以定义对象的
C.抽象类中不能有具体方法D.抽象类通常要有它的子类
55.下列哪个类声明是正确的( D )
A.abstractfinalclassH1{…}B.abstractprivatemove(){…}
C.protectedprivatenumber;D.publicabstractclassCar{…}
56.下列关于修饰符混用的说法,错误的是(D)
A.abstract不能与final并列修饰同一个类
B.abstract类不能有自己的构造方法
C.abstract方法所在的类必须是abstract类
D.static方法中能处理非static的属性(p51,static修饰方法的特点)
57.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数或参数类型各不相同。
这种重复定义同名方法的行为称为对方法(C)。
A.隐藏B.覆盖C.重载D.Java不支持此特性
58.在Java中,能实现多重继承效果的方式是(C)。
A.内部类B.适配器C.接口D.同步
59.以下哪个接口的定义是正确的?
(D)
A. interfaceA
{voidprint(){};}
B. abstractinterfaceA
{voidprint();}
C. abstractinterfaceAextendsI1,I2//I1.I2为已定义的接口
{abstractvoidprint(){};}
D. interfaceA
{voidprint();}
60.A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明:
1. Aa0=newA();
2. A a1=newB();
3. Aa2=newC();
问以下哪个说法是正确的?
(D)
A.只有第1行能通过编译
B.第1、2行能通过编译,但第3行编译出错
C.第1、2、3行能通过编译,但第2、3行运行时出错
D.第1行、第2行和第3行的声明都是正确的
61.在finally代码块中的代码,(D)
A.在任何错误处理代码之前执行
B.不执行,除非在前面的try块中产生异常
C.不能保证在任何确定的时间内执行,但是将会优先于“碎片收集”被JVM调用
D.保证执行,无论try块中是否产生异常
62.当方法遇到异常又不知如何处理时,下列哪种说法是正确的(B)
A.捕获异常 B.抛出异常
C.声明异常 D.嵌套异常
63.在java的一个异常处理中,哪个语句块可以有多个(A)
A.catchB.finallyC.tryD.throws
64.哪个关键字可以抛出异常?
(C)
A.transientB.finallyC.throwsD.static
65.给出一段程序,试判断哪个是正确的结果(D)
publicclassmyprogram{
publicstaticvoidmain(Stringargs[]){
try{
System.out.print(“Helloworld”);}
finally{
System.out.println(“Finallyexecuting”);
}
}
}
A.无法编译,因为没有指定异常
B.无法编译,因为没有catch子句
C.Helloworld
D.HelloworldFinallyexecuting
66.Java中可以用两种方法来创建线程,一种是继承Thread类,另一种是实现(B)接口。
A.ThrowsB.RunnableC.ComponentD.Container
67.下面哪个不是Thread类的方法?
(C)
A.yield()B.sleep(longmsec)C.go()D.stop()
68.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点(B)。
A.安全性 B.多线程 C.跨平台 D.可移植