《Java面向对象》复习题.docx
- 文档编号:73324
- 上传时间:2023-04-28
- 格式:DOCX
- 页数:29
- 大小:24.88KB
《Java面向对象》复习题.docx
《《Java面向对象》复习题.docx》由会员分享,可在线阅读,更多相关《《Java面向对象》复习题.docx(29页珍藏版)》请在冰点文库上搜索。
《Java面向对象》复习题
专题5面向对象
一、填空题
1.如果一个方法不返回任何值,则该方法的返回值类型为void。
2.如果子类中的某个方法名、返回值类型和传递参数与父类中的某个方法完全一致,则称子类中的这个方法覆盖了父类的同名方法。
3.接口中所有的属性均为公有、静态和常量的。
4.抽象方法是一种仅有方法声明,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。
5.在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。
6.一般Java程序的类主体由两部分组成:
一部分是成员变量(属性),另一部分是成员方法(方法)。
7.分别用class关键字来定义类,用new关键字来分配实例存储空间。
8.当一个类的修饰符为private时,说明该类不能被继承,即不能有子类。
二、选择题
1.方法内定义的变量(B)。
A.一定在方法内所有位置可见B.可能在方法的局部位置可见
C.在方法外可以使用D.在方法外可见
4.main()方法的返回值类型是(C)
A.booleanB.intC.voidD.static
6.能作为类及其成员的修饰符是(D)。
A.InterfaceB.ClassC.protectedD.public
7.下列方法定义中,方法头不正确的是(A)。
A.publicstaticx(doublea){…}B.publicstaticintx(doubley){…}C.voidx(doubled){…}D.publicintx(){…}
8.构造方法在(D)时被调用。
A.类定义时B.使用对象的变量时C.调用对象方法时D.创建对象时
9.下列哪个类声明是正确的(A)。
A.publicabstractclassCar{…}B.abstractprivatemove(){…}
C.protectedprivatenumber;D.abstractfinalclassH1{…}
10.下列不属于面向对象程序设计的基本特征的是(D)。
A.抽象B.封装C.继承D.静态
13.有一个类A,对于其构造函数的声明正确的是(B)。
A.voidA(intx){}B.publicA(intx){}
C.AA(intx){}D.intA(intx){}
14.请看下面的程序段publicclassTest{
longa[]=newlong[10];
pubicstaticvoidmain(Stringargs[]){
System.out.println(a[6]);}}
哪一个选项是正确的(B)。
A.不输出任何内容B.输出0
C.当编译时有错误出现D.当运行时有错误出现
15.关键字(B)表明一个对象或变量在初始化后不能修改。
A.extendsB.finalC.ThisD.finalize
16.声明为static的方法不能访问(C)类成员。
A.超类B.子类C.非staticD.用户自定义类
17.定义类A如下:
(重要)
classA{
inta,b,c;
publicvoidB(intx,inty,intz){a=x;b=y;c=z;}}
下面对方法B的重载哪些是正确的(C)。
A.publicvoidA(intx1,inty1,intz1){a=x1;b=y1;c=z1;}
B.publicvoidB(intx1,inty1,intz1){a=x1;b=y1;c=z1;}
C.publicvoidB(intx,inty){a=x;b=y;c=0;}
D.publicB(intx,inty,intz){a=x;b=y;c=z;}
18.编译运行下面的程序,结果是(B)。
(重要)
publicclassA{
publicstaticvoidmain(Stringargs[]){
Bb=newB();b.test();}
voidtest(){
System.out.print(“A”);}}
classBextendsA{voidtest(){
super.test();
System.out.print(“B”);}}
A.产生编译错误行时异常B.代码可以编译运行,并输出结果:
AB
C.代码可以编译运行,但没有输出D.编译没有错误,但会产生运
19.已知类关系如下:
ClassEmployee{}
ClassManagerextendsEmployee{}ClassDirectorextendsEmployee{}则下列语句正确的是:
(A)。
A.Employeee=newManager();B.Directord=newManager();
C.Directord=newEmployee();D.Managerm=newDirector();
20.接口是Java面向对象的实现机制之一,以下说法正确的是(A)。
A.Java支持多重继承,一个类可以实现多个接口
B.Java只支持单重继承,一个类可以实现多个接口
C.Java只支持单重继承,一个类可以实现一个接口
D.Java支持多重继承,但一个类只可以实现一个接口
21.下列方法的声明中不合法的是(C)。
A.floatarea(){…}B.voidarea(){…}
C.area{…}D.intarea(intr){…}
23、调用构造方法是在(B)。
A.类定义时B.创建对象时C.调用对象的方法时D.使用对象的变量时
24、在子类构造方法的哪个地方可以调用其父类的构造方法(B)。
A.任何地方B.构造方法的第一条语句
C.构造方法的最后一条语句D.无法在子类构造方法中调用父类
26、当方法中的局部变量与成员变量同名时,必须使用下列哪一个关键字指出成员变量(C)。
A.staticB.superC.thisD.new
27、什么样的方法不能被重写(B)。
A.私有(private)方法B.最终(final)方法
C.受保护(protected)的方法D.以上都不对
32、能作为类的修饰符,也能作为类成员的修饰符的是(A)。
A.PublicB.ExtendsC.FloatD.static
34、在JAVA中,下列说法正确的是:
(C)。
A.一个子类可以有多个父类,一个父类也可以有多个子类
B.一个子类可以有多个父类,但一个父类只可以有一个子类
C.一个子类只可以有一个父类,但一个父类可以有多个子类
D.上述说法都不对
35、Father和Son是两个java类,下列哪一选项正确的标识出Father是Son的父类?
(D)
A.classSonimplementsFatherB.classFatherimplementsSon
C.classFatherextendsSonD.classSonextendsFather
36、重载指的是方法具有相同的名字,但这些方法的参数必须不同。
下列哪种说法不属于方法参数的不同(C)。
A.形式参数的个数不同。
B.形式参数的类型不同。
C.形式参数的名字不同。
D.形式参数类型的排列顺序不同。
39、关于接口的定义和实现,以下描述正确的是(A)。
A.接口定义的方法只有定义没有实现
B.接口定义中的变量都必须写明final和static
C.如果一个接口由多个类来实现,则这些类在实现该接口中的方法时采用统一的代码
D.如果一个类实现接口,则必须实现该接口中的所有方法,但方法未必申明为public
专题6字符串、日期时间类
一、填空题
1已知String对象s=”hello”,运行语句“System.out.println(s.concat(“World!
”));”后,s的值为helloWorld!
2.使用+=将字符串s2添加到字符串s1后的语句是S1+=S2
3.比较s1种的字符串和s2种的字符串的内容是否相等的表达式是:
s1.equals(s2)
4.已知sb为StringBuffer的一个实例,且sb=”abcde”,则sb.reverse()后sb的值为:
edcba
7、Strings1=“China”;intn=s1.length();n的值为5。
二.选择题
1.已知String对象s=”abcdefg”,则s.substring(2,5)的返回值为(C)。
A.”bcde”B.”cde”C.”cdef”D.”def”
2.若有下面的代码:
Strings=”people”;Stringt=”people”;
Charc[]={“p”,“e”,“o”,“p”,“l”,“e”};
下面哪一选项的语句返回值为假(B)?
A.s.equals(t)B.t.equals(c)C.s==tD.t.equals(newString(“people”))
3.已知s为一个String对象,s=”abcdefg”,则s.charAt
(1)的返回值为(B)。
A.AB.bC.fD.g
7、已知inti=123,通过以下哪种方式可以得到字符串(B)。
A.Integer.parseInt(i);B.String.valueOf(i);
C.Long.parseLong(i);D.Float.parseFloat(i);
10、已知inti=123,通过以下哪种方式可以得到字符串(B)。
A.Integer.parseInt(i);B.String.valueOf(i);
C.Long.parseLong(i);D.Float.parseFloat(i);
【练习题】08.构造方法的重载定义一个名为Vehicles交通工具的基类该类中应包含String类型的成员属性brand商标和color颜色还应包含成员方法run行驶在控制台显示“我已经开动了”和showInfo显示信息在控制台显示商标和颜色并编写构造方法初始化其成员属性。
编写Car小汽车类继承于Vehicles类增加int型成员属性seats座位还应增加成员方法showCar在控制台显示小汽车的信息并编写构造方法。
编写Truck卡车类继承于Vehicles类增加float型成员属性load载重还应增加成员方法showTruck在控制台显示卡车的信息并编写构造方法。
在main方法中测试以上各类。
publicclassVehicles{
publicStringbrand;
publicStringcolor;
publicvoidrun(){
System.out.println("iamrunning");
}
publicVehicles(Stringb,Stringb1){
this.brand=b;
this.color=b1;
}
publicvoidshowInfo(){
System.out.println("brand:
"+this.brand+"\tcolor:
"+this.color);
}
publicstaticvoidmain(String[]dad){
Vehicleslian=newVehicles("Lamborgihini","yellow");
lian.showInfo();
carc=newcar("Aventador","green",6);
c.showCar();
Truckt=newTruck("Dongfangxuetielong","Bule",12);
t.showTruck();
}
}
classcarextendsVehicles{
publicintseat;
publicvoidshowCar(){
System.out.println("iama"+this.brand+"mycoloris"+this.color+"ihave"+this.seat+"seats~");
}
publiccar(Stringb,Stringb1,ints){
super(b,b1);
this.seat=s;
}
classTruckextendsVehicles{
publicfloatload;
publicvoidshowTruck(){
System.out.println("iama"+this.brand+"mycoloris"+this.color+"icanstand"+this.load+"tonsofmaterials");
}
publicTruck(Stringb,Stringb1,floatf){
super(b,b1);
this.load=f;
}
}
【练习题】10.构造方法与重载、包编写Addition类该类中应包含一组实现两数相加运算的重载方法。
实现加法运算的方法应接受两个参数即加数和被加数方法将两个参数进行加法运算后返回相加结果。
考虑可能针对不同的数据类型进行计算重载一组方法包括整型、长整型、浮点型、双精度浮点型、还有字符串。
在main方法中创建Addition类的实例分别调用重载方法测试其效果。
应将Addition类打入到包中以自己名字的拼音为包命名。
publicclasslianx{
publicvoidadditionInt(intx,inty){
intsum=x+y;
System.out.println("sum="+sum);
}
publicvoidadditionLong(longx,longy){
longsum=x+y;
System.out.println("sum="+sum);
}
publicvoidadditionFloat(floatx,floaty){
floatsum=x+y;
System.out.println("sum="+sum);
}
publicvoidadditionDouble(doublex,doubley){
doublesum=x+y;
System.out.println("sum="+sum);
}
publicvoidadditionString(Stringx,Stringy){
Stringsum=x+y;
System.out.println("sum="+sum);
}
publicstaticvoidmain(String[]args){
lianxilian=newlianxi();
lian.additionInt(1,2);
lian.additionString("1","2");
}
}
【练习题】12.构造方法与重载建立一个汽车类包括轮胎个数汽车颜色车身重量等属性。
并通过不同的构造方法创建事例。
至少要求汽车能够加速减速停车。
要求命名规范代码体现层次有友好的操作提示。
publicclasscar{
privateintlunzi;
privateStringcolor;
privatedoubleweight;
publiccar(){}
publiccar(inti,Strings,doubled){
this.lunzi=i;
this.color=s;
this.weight=d;
}
publicvoidSpeedUp(){
System.out.println("iamspeedingup");
}
publicvoidSpeedDown(){
System.out.println("iamspeedingdown");
}
publicvoidStop(){
System.out.println("ihavestopped");
}
publicstaticvoidmain(String[]args){
carc=newcar();
carc1=newcar(4,"yellow",1.45);
c.SpeedUp();
c.SpeedDown();
c.Stop();
}
}
【练习题】13.构造方法与重载创建一个类为该类定义三个构造函数分别执行下列操作1、传递两个整数值并找出其中较大的一个值2、传递三个double值并求出其乘积3、传递两个字符串值并检查其是否相同4、在main方法中测试构造函数的调用
publicclasslianxi{
publiclianxi(intx,inty){
if(x>y){
System.out.println("Themaxis"+x);
}else{
System.out.println("Themaxis"+y);
}
publiclianxi(doubled1,doubled2,doubled3){
doubleji=d1*d2*d3;
System.out.println("Themultiplyresultis"+ji);
}
publiclianxi(Strings1,Strings2){
booleanb;
if(s1.equals(s2)){
b=true;
System.out.println(b);
}
else{
b=false;
System.out.println(b);
}
}
publicstaticvoidmain(String[]dasd){
lianxic=newlianxi(1,2);
lianxic1=newlianxi(1,2,3);
lianxic2=newlianxi("nihao","nihao");
}
}
【练习题】22.接口创建一个名称为Vehicle的接口在接口中添加两个带有一个参数的方法start()和stop()。
在两个名称分别为Bike和Bus的类中实现Vehicle接口。
创建一个名称为interfaceDemo的类在interfaceDemo的main()方法中创建Bike和Bus对象并访问start()和stop()方法。
publicinterfaceVehicle{
publicvoidstart();
publicvoidstop();
}
//接口类
publicclassinterfaceDemo{
publicstaticvoidmain(String[]dsa){
Bikebike=newBike();
bike.start();
bike.stop();
Busbus=newBus();
bus.start();
bus.stop();
}
}
classBikeimplementsVehicle{
publicvoidstart(){
System.out.println("iambike,iamrunning");
}
publicvoidstop(){
System.out.println("iambke,iamstop");
}
}
classBusimplementsVehicle{
publicvoidstart(){
System.out.println("iambus,iamrunning");
}
publicvoidstop(){
System.out.println("iambke,iamstop");
}
}
【练习题】24.抽象类、继承、接口综合设计一个系统XXX门的实现过程流程设计一张抽象的门Door那么对于这张门来说就应该拥有所有门的共性开门openDoor()和关门closeDoor()然后对门进行另外的功能设计,防盗--theftproof()、防水--waterproof()、防弹--bulletproof()、防火、防锈……要求利用继承、抽象类、接口的知识设计该门
接口Imen
publicinterfaceImen{
publicvoidthrefproof();
publicvoidwaterproof();
publicvoidfireproof();
publicvoidbulletproof();
publicvoidrustproof();
}
publicclasslianxi{
publicstaticvoidmain(String[]args){
menm=newmen();
m.opendoor();m.closedoor();
}
}
abstractclassDoor{
publicvoidopendoor(){};
publicvoidclosedoor(){};
}
classmenextendsDoorimplementsImen{
publicvoidopendoor(){
System.out.println("icanopenthedoor");
}
publicvoidclosedoor(){
System.out.println("icanclosethedoor");
}
publicvoidthrefproof(){
System.out.println("icanthrefproof");
}
publicvoidwaterproof(){
System.out.println("icanwaterproof");
}
publicvoidfireproof(){
System.out.println("icanfireproof");
}
publicvoidbulletproof(){
System.out.println(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java面向对象 Java 面向 对象 复习题