java期末考试习题集讲解.docx
《java期末考试习题集讲解.docx》由会员分享,可在线阅读,更多相关《java期末考试习题集讲解.docx(32页珍藏版)》请在冰豆网上搜索。
java期末考试习题集讲解
1.选择题(单选)1
2.选择题(单选)6
3.单选题10
4.选择题(单选)14
5.选择题(可以多选)18
1.选择题(单选)
1、被声明为private、protected及public的类成员,在类外部:
A、只能访问声明为public的成员
B、只可能访问到声明为protected和public的成员
C、都可以访问
D、都不能访问
3、下列那个声明是正确的?
A、abstractfinalclassHh{}
B、abstractprivatemove(){}
C、protectedprivatenumber;
D、publicabstractclassCar{}
4、关于对象成员占用内存的说法哪个正确?
()
A、同一个类的对象共用同一段内存
B、同一个类的对象是用不同的内存段,但静态成员共享相同的内存空间
C、对象的方法不占用内存
D、以上都不对
5、关于this和super,下列说法正确的是()
A、都可以在main()方法中使用
B、都是指一个内存地址
C、不能用在main()方法中
D、意义相同
6、关于接口下列哪个说法正确?
()
A、实现一个接口必须实现接口的所有方法
B、一个类只能实现一个借口
C、接口间不能有继承关系
D、接口和抽象类是一回事
7、下列那个说法正确:
()
A、子类只能覆盖父类的方法,而不能重载
B、子类只能重载父类的方法,而不能覆盖
C、子类不能定义和父类同名同形参的方法,否则,系统将不知道调用哪个方法
D、重载就是一个类中有多个同名但有不同形参和方法体的方法
8、认真阅读下段例程,
1)classSuper{
2)publicfloatgetNum(){return3.0f;}
3)}
4)
5)publicclassSubextendsSuper{
6)
7)}
下面语句,哪句放在第6行会引起编译错误:
()
A.publicfloatgetNum(){return4.0f;}
B.publicvoidgetNum(){}
C.publicvoidgetNum(doubled){}
D.publicdoublegetNum(floatd){return4.0d;}
9、关于main()方法的说法哪个正确?
()
A、main()方法只能放在公共类中
B、main()方法的头定义可以根据情况任意更改
C、一个类中可以没有main()方法
D、所有对象的创建都必须放在main()方法中
10、关于内部类的说法哪个正确?
()
A、内部类不能使用外部类的私有属性和方法
B、内部类可以广泛使用,不受任何限制
C、内部类可以单独编译
D、内部类可以使用外部类的私有属性和方法
11、在Q2_2类哪些是合法的覆盖(override)?
()
publicclsssQ2_1
{
publicvoidmethod(intk){};
}
classQ2_2extendsQ2_1
{
____
}
A、publicvoidmethod(inti){};
B、publicvoidmethod(intj,intk){}
C、publicfloatmethod(intk);
D、privatevoidmethod(intk);
12、下面的类中,哪些不是合法的重载(overload)?
()
publicclassQ1
{
publicvoidmethod(inti){}
}
A、privatevoidmethod(inti,intj){}
B、publicvoidmethod(intk){}
C、privatefloatmethod(floatf){}
D、publicStringmethod(inti,intj){}
E、publicfloatmethod(floatf){}
13、看下面的代码,选择正确的结论()
classSuperClass
{
inti=8;
SuperClass()
{
add
(1);
}
voidadd(intj)
{
i=i+j;
}
}
classSubClassextendsSuperClass
{
voidadd(intj)
{
i=i+2*j;
}
}
publicclassMainClass
{
publicstaticvoidmain(Stringargs[])
{
SuperClassa=newSubClass();
System.out.println(a.i);
}
}
A、编译时出现错误
B、运行时出现错误
C、输出10
D、输出8
14、下面哪些是short型的取值范围()
A. –2^7 – 2^7-1
B. 0 – 2^16-1
C. 2^15 – 2^15-1
D. 2^31 – 2^31-1
15、关于方法的形参,下列说法正确的是:
()
A、必须定义多个形参
B、至少有一个
C、可以没有
D、只能是简单变量
16、阅读以下例程,
inti=1,j=10;
do{
if(i++>--j)continue;
}while(i<5);
此段程序执行后,i和j的值是()
A.i=6j=5
B.B.i=5j=5
C.i=6j=4
D.i=5j=6
E.i=6j=6
18、下面的哪些关键字通常用来对对象的加锁,该标记使得对对象的访问是排他的 ()
A. transient
B. synchronized
C. serialize
D. static
19、题目:
下面关于变量及其范围的陈述哪些是不对的。
()
A. 实例变量是类的成员变量。
B. 实例变量用关键字static声明。
C. 在方法中定义的局部变量在该方法被执行时创建
D. 局部变量在使用前必须被初始化。
20、阅读程序,回答问题:
publicclassFoo{
publicstaticvoidmain(Stringargs[]){
try{return;}
finally{System.out.println("nothing");}
}
}
此段程序的输出是()
A.nothing
B.Finally
C.compileerror
21、在Java API文档中下面的哪些部分不被包括在内()
A. 类及用途的描述
B. 父类的方法的列表
C. 成员变量的列表
D. 类层次
22、下面那个变量声明不正确的:
()
A、I_love_Java
B、$20
C、_a22
D、3_aa
E、const1
23、下面关于JAVA的优点说法错误的是?
()
A、JAVA是纯面向对象的语句,还有众多的API支持,所以JAVA开发各种各样的应用
程序变的非常容易且易于维护。
B、JAVA使用的是Unicode作为标准字符,这使得JAVA程序在不同的语言平台上都能
被编译和运行。
C、垃圾回收机制是JAVA的一在特性,垃圾回收机制的调度是有程序员负责的。
D、JAVA引进来的EXCEPTION处理机制,使得JAVA程序更安全、更稳定、更随机应变。
24、下面关于JVM说法不准确的是?
()
A、JVM目前已有针对不同的平台开发了多个相应的版本。
B、所以的JAVA程序编译成字节码后都需要被调度到相应版本的JVM中才能执行。
C、各个版本的JVM对内存的管理都是通过GC机制实现的
D、JVM机制的引入才使我们的程序很容易的动态内存管理及多线程、JavaBean等服务。
2.选择题(单选)
1、给出下面代码:
classTest
{
privateintm;
publicstaticvoidfun()
{
//somecode...
}
}
怎样能在方法fun()中直接访问成员变量m?
A.changeprivateintmtoprotectedintm
B.changeprivateintmtopublicintm
C.changeprivateintmtostaticintm
D.changeprivateintmtointm
2、给出下面定义:
Strings=story;
那一个表达式是正确的?
A.s+=books;
B.charc=s[1];
C.intlen=s.length;
D.Strings=s.toLowerCase();
3、按钮可以产生ActionEvent事件,实现那个接口可以处理此事件?
AFocusListener
BComponentListener
CWindowListener
DActionListener
4、下面代码中那一个不能够创建一个数组?
Afloat[]f[]=newfloat[6][6];
Bfloatf[][]=newfloat[][6];
Afloat[][]f=newfloat[6][6];
Afloat[][]f=newfloat[6][];
5、给出下面代码段:
booleanm=true;
if(m=false)
System.out.println(False);
else
System.out.println(True);
运行的结果是?
AFalse
BTrue
CNone
DAnerrorwilloccurwhenrunning
7、如果一个方法调用wait()方法,下面的那个方法能使他继续运行?
Ajoin()
Bresume()
Cnotify()
Dhighprioritythreadisready
8、下面那个关键字可以用来和锁旗标相互作用?
Anative
Bstatic
Csynchronized
Dabstract
9、如果一个类的成员变量只能在同一个包中访问,用下面那个修饰符?
Aprivate
Bpublic
Cprotected
Dnomodifier
11、在Test.java源文件中,那个是下确的类定义
A.publicclasstest{
publicintx=0;
publictest(intx)
this.x=x;
}
}
B.publicclassTestextendsT1,T2{
publicintx=0;
publicTest(intx){
this.x=x;
}
}
C.publicclassTestextendsT1{
publicintx=0;
publicTest(intx){
this.x=x;
}
}
D.protectedclassTestextendsT2{
publicintx=0;
publicTest(intx){
this.x=x;
}
}
12、给出下面的代码:
publicclassTest{
publicstaticvoidmain(Stringargs[])
{
Stringstr=newString(“World”);
charch[]={'H','e','l','l','o'};
change(str,ch);
System.out.println(str+“and”+ch);
}
publicstaticvoidchange(Stringstr,charch[])
{
str=“Changed;ch[0]='C'”;
}
}
运行结果是
AWorldandHello
BWorldandCello
CChangeandHello
DChangeandCello
13运行下面程序,会产生什么结果
publicclassXextendsThreadimplementsRunnable{
publicvoidrun(){
System.out.println("thisisrun()...");
}
publicstaticvoidmain(Stringargs[])
{
Threadt=newThread(newX());
t.start();
}
}
A第一行会产生编译错误
B 第七行会产生编译错误
C 第八行会产生编译错误
D程序会运行和启动
14、运行下面程序,会产生什么结果:
classOuter
{
privateinta;
voidfoo(doubled,finalfloatf)
{
Strings;
finalbooleanb;
classInner
{
voidmetodInner()
{
System.out.println("intheInner");
}
}
}
publicstaticvoidmain(Stringargs[])
{
Outerme=newOuter();
me.foo(123,123);
System.out.println("outer");
}
}
AintheInnerouter
Bouter
CintheInner
D编译不通过
15、如果func()允许抛出IOException异常,能使用下面的那个方法声明?
Apublicintfunc(inti)
Bpublicintfunc(inti)throwIOException
Cpublicintfunc(inti)throwException
Dpublicintfunc(inti)throwsException
3.单选题
1、MAX_LENGTH是int型public成员变量,变量值保持为常量100,用简短语句定义
这个变量。
A、publicintMAX_LENGTH=100;
B、finalintMAX_LENGTH=100;
C、finalpublicintMAX_LENGTH=100;
D、publicfinalintMAX_LENGTH=100.
2、给出下面代码:
1)classParent{
2}privateStringname;
3}publicParent(){}
4}}
5)publicclassChildextendsParent{
6}privateStringdepartment;
7}publicChild(){}
8}publicStringgetValue(){returnname;}
9}publicstaticvoidmain(Stringarg[]){
10}Parentp=newParent();
11}}
12}}
哪一行将引起错误?
A、第3行
B、第6行
C、第7行
D、第8行
3、类Teacher和Student是类Person的子类;
Personp;
Teachert;
Students;
//p,tandsareallnon-null.
if(tinstanceofPerson){s=(Student)t;}
最后一句语句的结果是:
A、将构造一个Student对象;
B、表达式是合法的;
C、表达式是错误的;
D、编译时正确,但运行时错误。
4、给出下面代码段
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)}
哪行将引起一个编译时错误?
A、line3
B、line5
C、line6
D、line10
5、对于下列代码:
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)}
第10行语句将调用哪行语句?
A、line2
B、line3
C、line6
D、line7
7、对于下列代码:
publicclassParent{
publicintaddValue(inta,intb){
ints;
s=a+b;
returns;
}
}
classChildextendsParent{
}
下述哪一方法可以加入类Child?
A、intaddValue(inta,intb){//dosomething...}
B、publicvoidaddValue(inta,intb){//dosomething...}
C、publicintaddValue(inta){//dosomething...}
D、publicintaddValue(inta,intb)throwsMyException{//dosomething...}
8、给出下面代码:
publicclasstest{
staticinta[]=newa[10];
publicstaticvoidmain(Stringargs[]){
System.out.println(arr[10]);
}
}
那个选项是正确的?
A、编译时将产生错误;
B、编译时正确,运行时将产生错误;
C、输出零;
D、输出空。
9、内部类是在一个类内嵌套定义的类。
其特点描述错误的是_______
A、只能在定义它的类或程序段中或表达式内匿名使用,外部使用时必须给出类的全名
B、可以使用它所在类的静态成员变量或实例成员变量,但不可以使用所在类中的局部变量
C、可以作为其它类的成员,而且可以访问它所在类的成员
D、除static内部类外,不能在类内声明static成员
11、下面说法不正确的是______
A、Java中线程是抢占式的
B、Java中线程是分时的
C、Java中的线程可以共享数据
D、Java中的线程可以共享代码
18、下面说法正确的是
A、java语言里的线程是没有优先级的
B、socket类在java.lang中
C、java语言不支持为的序列化
D、能序列化的类必须实现java.io.Serializable接口
20、下列那些说法是正确的
A、Java语言只允许单一继承
B、Java语言只允许实现一个接口
C、Java语言不允许同时继承一个类并实现一个接口
D、Java语言的单一继承使得代码更加可靠
21、对于下列代码
publicclassParent{
publicintaddValue(inta,intb){
ints;
s=a+b;
returns;
}
}
classChildextendsParent(){
}
下述那些方法可以加入类Child?
A、intaddValue(inta,intb){//dosomething...}
B、publicvoidaddValue(inta,intb){//dosomething...}
C、publicintaddValue(inta){//dosomething...}
D、publicintaddValue(inta,intb)throwsMyException{//dosomething...}
22、下列哪些语句不是正确的?
A、inta[][]=newint[][3];
B、inta[][]={{1,3},{2,3,4},{1,2}};
C、Strings[][]=newString[2][];
D、Strings[][]={{"can","I"},{"help","you"}}
23、运行下列程序,会产生什么结果:
classOuter1{
privateinta;
voidfoo(doubled,finalfloatf){
Strings;
finalbooleanb;
classInner{
voidmethodInner(){
System.out.println("intheInner");
}
}
}
publicstaticvoidmain(Stringargs[])
{
Outer1me=newOuter1();
me.foo(123,123);