面向对象编程试题库test.docx
《面向对象编程试题库test.docx》由会员分享,可在线阅读,更多相关《面向对象编程试题库test.docx(13页珍藏版)》请在冰豆网上搜索。
![面向对象编程试题库test.docx](https://file1.bdocx.com/fileroot1/2023-1/14/f7fbd7c8-b1e6-4915-ae3a-c9e6d7fc3171/f7fbd7c8-b1e6-4915-ae3a-c9e6d7fc31711.gif)
面向对象编程试题库面向对象编程试题库test面向对象编程试题库test作者:
日期:
面向对象编程练习题专题专题1初识初识Java、填空题1.自从自从Sun推出推出Java以来,按应用范围可分为三个版本,分别是(以来,按应用范围可分为三个版本,分别是()、)、()、()。
()、()。
2.环境变量的设置,若环境变量的设置,若JDK安装在安装在“DJDK,则应设置,则应设置Path为()、为()、classpath为(为(3.Java源文件的扩展名为(),用源文件的扩展名为(),用Javac编译编译Java源文件,得到的字节源文件,得到的字节码文件的扩展名为()码文件的扩展名为()4.如果如果Java源文件中有多个类,那么只能有一个类是(源文件中有多个类,那么只能有一个类是()类。
)类。
二、选择题专题2标识符、表达式、数据类型、填空题Java逻辑常量有两个:
()和()。
比较两个数相等的运算符是:
二、选择题5.下列标识符中,正确的是结果类型应该是。
7、对下面的语句执行完后正确的说法是:
()对下面的语句执行完后正确的说法是:
()intc=c/3;System.out.pnntln(c);A.输出结果为输出结果为21B.输出结果为输出结果为22C.输出结果为输出结果为32D.输出结果为输出结果为338、设有定义设有定义inta=12;则执行则执行a*=12;语句后,语句后,a的值为:
()。
的值为:
()。
A.144B.12C.24D.0专题3流程控制语句、填空题5.continue在循环语句中的作用是()。
专题4面向对象、填空题中定义。
关系。
选择题B.PublicA(intx)D.intA(intx).有一个类A,对于其构造方法的声明正确的是(B)。
与类同名,没有返回值A.voidA(intx)C.AA(intx)2.方法的形参()。
AB.至少有一个A.可以没有c.必须定义多个形参D.只能是简单变量3.return语句(D)A.不能用来返回对象B.只可以返回数值C.方法都必须含有D.一个方法中可以有多个4.main()方法的返回值类型是(C)A.booleanB.intC.voidD.static5.编译并运行下面的程序,运行结果是()。
publicclassApublicstaticvoidmain(Stringargs)Aa=newA();a.method(8);/intdouble默认voidmethod(inti)System.out.println(int:
”+i);voidmethod(longi)System.out.pnntln(lbng:
”+i);A.程序可以编译运行,输出结果为:
“int:
8”B.程序可以编译运行,输出结果为:
“long:
8”C.程序有编译错误,因为两个method()方法必须定义为静态(static)的D.程序可以编译运行,但是没有输出6.能作为类及其成员的修饰符是()。
A.interfaceB.classC.protectedD.public7.下列方法定义中,方法头不正确的是()。
A.Publicstaticx(doublea)B.publicstaticintx(doubley)C.voidx(doubled)D.publicintx()8.构造方法在()时被调用。
A.类定义时B.使用对象的变量时C.调用对象方法时D.创建对象时9.下列哪个类声明是正确的()。
A.PublicabstractclassCarB.abstractprivatemove()C.protectedprivatenumber;D.abstractfinalclassH110.下列不属于面向对象程序设计的基本特征的是()oA.抽象B.封装C.继承继承D.多态多态有一个类A,对于其构造函数的声明正确的是()。
voidA(intx)B.publicA(intx)C.12.AA(intx)D.intA(intx)关键字()表明一个对象或变量在初始化后不能修改。
extendsB.finalC.thisD.finalize声明为static的方法不能访问()类成员。
13.A.超类超类C.非static14.定义类A如下:
classAinta,b,c;publicvoidB(intx,inty,intz)a=x;b=y;c=z;下面对方法B的重载哪些是正确的()。
A.B.B.子类子类D.用户自定义类用户自定义类C.publicvoidA(intx1,inty1,intz1)a=x1;b=y1;c=z1;publicvoidB(intx1,inty1,intz1)a=x1;b=y1;c=z1;publicvoidB(intx,inty)a=x;b=y;c=0;publicB(intx,inty,intz)a=x;b=y;c=z;编译运行下面的程序,结果是()。
15.PublicclassApublicstaticvoidmain(Stringargs)Bb=newB();b.test();voidtest()System.out.print(“A”);classBextendsAvoidtest()super.test();System.out.pnnt(A.产生编译错误产生编译错误“B”);C.代码可以编译运行,但没有输出代码可以编译运行,但没有输出16.已知类关系如下:
ClassEmpioyeeClassManagerextendsEmpioyeeClassDirectorextendsEmpioyeeB.代码可以编译运行,并输出结果:
代码可以编译运行,并输出结果:
ABD.编译没有错误,但会产生运行时异常编译没有错误,但会产生运行时异常则下列语句正确的是:
A.()。
Empioyeee=newManager();B.Directord=newManager();C.17.A.C.Directord=newEmpioyee();D.Managerm=new接口是Java面向对象的实现机制之一,以下说法正确的是()。
Java支持多重继承,一个类可以实现多个接口Java只支持单重继承,一个类可以实现多个接口Java只支持单重继承,一个类可以实现一个接口Java支持多重继承,但一个类只可以实现一个接口Director();21.下列方法的声明中不合法的是A.floatarea()B.voidarea()C.areaD.intarea(intr)22、下面哪个包是编程时不需要导入就可以直接使用的23、调用构造方法是在。
A.类定义时B.创建对象时24、在子类构造方法的哪个地方可以调用其父类的构造方法任何地方构造方法的第一条语句无法在子类构造方法中调用父类的构造方法25、关于Java中的继承,下列说法错误的是A继承是面向对象编程的核心特征,通过继承可以更有效地组织程序结构。
B继承使得程序员可以在原有类的基础上很快设计出一个功能更强的新类,而不必从头开始,避免了工作上的重复。
C.每一次继承时,子类都会自动拥有父类的属性和方法,同时也可以加入自己的一些特性,使得它更具体、功能更强大。
D继承一般有多重继承和单一继承两种方式,在单一继承中每一个类最多只有一个父类,而多重继承则可以有多个父类。
Java中的类都采用多重继承。
26、当方法中的局部变量与成员变量同名时,必须使用下列哪一个关键字指出成员变量27、什么样的方法不能被重写A.私有(private)方法B.最终(final)方法C.受保护(protectec)的方法D以上都不对以上都不对28、下列有关抽象类与接口的叙述中正确的是哪一个、下列有关抽象类与接口的叙述中正确的是哪一个抽象类中必须有抽象方法,接口中也必须有抽象方法抽象类中必须有抽象方法,接口中也必须有抽象方法C.抽象类中可以有非抽象方法,接口中也可以有非抽象方法含有抽象方法的类必须是抽象类,接口中的方法必须是抽象方法含有抽象方法的类必须是抽象类,接口中的方法必须是抽象方法抽象类中的变量定乂时必须初始化,而接口中不是抽象类中的变量定乂时必须初始化,而接口中不是29、以下程序的输出是_a=2,b=0_intx=1,y=0,a=0,b=0;switch(x)case1:
switch(y)case0:
a+;break;case1:
b+;break;/a=1b=0case2:
a+;break;case3:
a+;b+;30、下列类的声明中不合法的是32、能作为类的修饰符,也能作为类成员的修饰符的是33、试完成下述程序片段publicclassPointintx,y;publicPoint(intx,inty)(this.x)=x;(this.y)=y;A.Point.xPoint.yB.this.xthis.yC.super.xsuper.yD.无解无解34、在、在JAVA中,下列说法正确的是:
中,下列说法正确的是:
_。
一个子类可以有多个父类,一个父类也可以有多个子类一个子类可以有多个父类,一个父类也可以有多个子类C.一个子类可以有多个父类,但一个父类只可以有一个子类一个子类只可以有一个父类,但一个父类可以有多个子类一个子类只可以有一个父类,但一个父类可以有多个子类上述说法都不对上述说法都不对35、Father和Son是两个java类,下列()正确的标识出Father是Son的父类?
A.classSonimplementsFatherB.classFatherimplementsSonC.classFatherextendsSonD.classSonextendsFather36、重载指的是方法具有相同的名字,但这些方法的参数必须不同。
下列哪种说法不属于方法参数但这些方法的参数必须不同。
下列哪种说法不属于方法参数的不同的不同。
A.形式参数的个数不同。
形式参数的个数不同。
B.形式参数的类型不同。
形式参数的类型不同。
C.形式参数的名字不同。
形式参数的名字不同。
D.形式参数类型的排列顺序不同。
形式参数类型的排列顺序不同。
39、关于接口的定义和实现,以下描述正确的是、关于接口的定义和实现,以下描述正确的是接口定义的方法只有定义没有实现接口定义的方法只有定义没有实现接口定义中的变量都必须写明接口定义中的变量都必须写明final和和staticC.如果一个接口由多个类来实现,则这些类在实现该接口中的方法时采用统一的代码Public如果一个类实现接口,则必须实现该接口中的所有方法,但方法未必申明为三、阅读程序题publicclassComputerStringmainbord,cpu;publicComputer(Strings1,Strings2)mainbord=s1;cpu=s2;publicstaticvoidmain(Stringargs)Computerc=newComputer(微星,AMD);System.out.println(mainbord:
+c.mainbord+,cpu:
+c.cpu);2、写出运行结果:
_Marryis18yearsold!
publicclassPersonStringname;intage;publicPerson(Stringname,intage)this.name=name;this.age=age;publicstaticvoidmain(Stringargs)Personc=newPerson(Marry,18);System.out.println(c.name+is+c.age+yearsold!
);classStudStringname;intage;Stud(String_name,inta)_this.name=name;age=a;4.下面是一个B.java源文件,请将其补充完整PublicclassBStringx;static_inta=3;B(Stringx)this.x=_x_;staticintgetA()returna;编程题编程题1.编写一个编写一个Java程序,定义一个程序,定义一个Shape类,具有:
属性:
形状(类,具有:
属性:
形状(form)String类型,功能:
求面类型,功能:
求面积(doublearea(;再定义Shape类的子类Circle,具有:
属性:
半径(raduis)double型,功能:
设置半径(voidsetraduis(doublenewRaduis),把新半径赋给raduis。
2.定义一个人类,包括属性:
姓名、性别、年龄;包括方法:
吃饭、睡觉,工作。
根据人类,派生一个学生类,增加属性:
学校、学号;学生的工作是学习。