OOP基础试题Java.docx
《OOP基础试题Java.docx》由会员分享,可在线阅读,更多相关《OOP基础试题Java.docx(15页珍藏版)》请在冰豆网上搜索。
OOP基础试题Java
OOP基础试题
一、单项选择
1.已知:
classC{
publicstaticvoidmain(String[]args){
booleana=true;
booleanb=false;
booleanc=true;
if((a&b)|(b&c)&c)
System.out.print("A");
if((a&c)|(a|b))
System.out.print("B");
}
}
(A)A(B)B(C)AB(D)编译错误
2.已知:
classC{
publicstaticvoidmain(String[]args){
inta=1;
intb=2;
System.out.print(“7”+5+4);
System.out.print(m()+a+3);
System.out.println(a+b+m());
}
publicstaticStringm(){
return“6”;
}
}
(A)79613126(B)79614336(C)75461336(D)754613126
3.下面代码的输出是
classC{
publicstaticvoidmain(String[]args){
intx=1;
System.out.print((x>1)&(x++>1));
System.out.print(“”);
System.out.print((x>1)&&(x++>1));
}
}
(A)falsetrue(B)truefalse
(C)falsefalse(D)truetrue
4.已知:
classC{
publicstaticvoidtest(Strings){
if(s==null|s.length()==0){
System.out.println(“Stringisnull”);
}
else{
System.out.println(“Stringisnotnull”);
}
}
publicstaticvoidmain(String[]args){
test(null);
}
}
则输出为
(A)Stringisnull(B)Stringisnotnull
(C)编译错误(D)运行时异常
5.import语句的作用是
(A)导入包中成员(B)创建包
(C)既可导入包成员,也可创建包(D)访问控制
6.接口中的成员方法被隐含地声明为
(A)publicstaticfinal(B)protectedabstact
(C)private(D)publicabstract
7.接口中的成员变量被隐含地声明为
(A)publicstaticfinal(B)publicfinal
(C)publicstatic(D)publicabstract
8.已知:
classA{
publicfinalvoidm(){
System.out.println("A.m");
}
}
publicclassBextendsA{
publicvoidm(){
System.out.println("B.m");
super.m();
}
publicstaticvoidmain(String[]args){
newB().m();
}
}
那么结果为?
(A)A.m(B)B.m
(C)B.m(D)编译错误
A.m
9.已知:
classBase{
publicBase(Strings){
System.out.print("B");
}
}
publicclassDerivedextendsBase{
publicDerived(Strings){
System.out.print("D");
}
publicstaticvoidmain(String[]args){
newDerived("C");
}
}
那么结果为?
(A)BD(B)DB(C)C(D)编译错误
10.如果类中的成员只能被子类或同一包中的类访问,那么声明该成员时应使用下面哪个修饰符
(A)private(B)package(C)protected(D)public
11.如果类中的成员只能被同一包中的类访问,那么声明该成员时应使用下面哪个修饰符
(A)protected(B)package(C)public(D)不使用访问修饰符
12.关于包的描述错误的是
(A)包可以将相关的类和接口组织在一起,便于识别和管理
(B)包中的类可以访问同一包的其它类的私有成员
(C)不同包中的相同命名,不会产生冲突
(D)用public修饰的顶级类和接口对包外代码可见
13.已知:
classC{
publicstaticvoidmain(String[]args){
System.out.println(sqrt(4));
}
}
要使程序正确编译需要在横线处添加哪句代码
(A)importjava.lang.Math;
(B)importjava.lang.Math.*;
(C)importstaticjava.lang.Math;
(D)importstaticjava.lang.Math.*;
14.已知:
classC{
publicstaticvoidmain(String[]args){
for(inti=1;iSystem.out.print(args[i]);
}
}
}
在命令行中执行:
javaCDEF
则输输出为
(A)CDEF(B)DEF(C)EF(D)F
15.抛出异常,使用关键字
(A)try(B)throw(C)finally(D)catch
16.为了区分方法重载时同名的不同方法,要求()。
A)采用不同的形式参数列表B)返回值类型不同
C)调用时用类名或对象名做前缀D)参数名不同
17、设A为已定义的类名,下面声明类A的对象a的语句中正确的是()。
A.floatAa;B.publicAa=A();
C.Aa=newint();D.Aa=newA();
18.有一个类A,以下为其构造方法的声明,其中正确的是()。
A)voidA(intx){...}B)A(intx){...}
C)a(intx){...}D)voida(intx){...}
19.关于实例方法和类方法,以下描述正确的是:
()。
A.实例方法只能访问实例变量
B.类方法既可以访问类变量,也可以访问实例变量
C.类方法只能通过类名来调用
D.实例方法只能通过对象来调用
20.下列哪个类的声明是错误的?
A)finalabstractclassA
B)finalclassA
C)abstractclassA
D)publicclassA
二、多项选择题
1.下面的哪些声明是合法的?
(A)inta[];(B)inta[5];
(C)int[]a;(D)inta[]=[5];
2.已知:
classC{
publicC(inti){}
}
下面哪些代码是对构造函数的重载
(A)C(){}
(B)publicObjectC(byteb){}
(C)publicvoidC(){}
(D)privateC(inti,intj){}
3.下面哪些方法禁止子类重定义该方法
(A)protectedvoidm(){}
(B)finalvoidm(){}
(C)abstractvoidm(){}
(D)staticfinalvoidm(){}
4.设有方法:
publicAmethod(){
……
returnb;
}
则b可以为
(A)null
(B)b的类型为A
(C)b的类型为A的子类
(D)b的类型为A的父类
5.下面关于try、catch和finally语句块的组合使用,正确的是
(A)try{…}
(B)try{…}finally{…}
(C)try{…}catch{…}finally{…}
(D)try{…}catch{…}catch{…}
6.已知:
classC{
publicstaticvoidmain(String[]args){
try{
method();
System.out.println("a");
}
catch(ArithmeticExceptione){
System.out.println("b");
}
finally{
System.out.println("c");
}
System.out.println("d");
}
staticvoidmethod(){
thrownewNullPointerException();
}
}
则输出包含
(A)a(B)b(C)c(D)d
7.已知:
interfaceI{
intmethodA();
shortmethodB(bytes);
}
下面哪些代码是正确的?
(A)abstractclassCextendsI{
publicintmethodA()
{return0;}
}
(B)abstractclassCimplementsI{}
(C)interfaceI2extendsI{}
(D)classCextendsI{
intmethodA(){return0;}
shortmethodB(){return1;}
}
8.如果a,b是引用类型的变量,且赋值表达式Aa=b;是正确的,那么
(A)表达式(binstanceofA)的值为true
(B)b的类型可以是A的父类型
(C)b的值可以为null
(D)如果A为Object,那么b可以是任何引用类型的变量
9.关于接口,描述正确的是
(A)接口是抽象方法和常量值定义的集合
(B)不相关的类可以实现同一接口
(C)一个类只能实现一个接口
(D)接口的成员方法不能提供实现代码
10.已知:
1publicclassA{
2Am(){
returnthis