类和对象练习题.docx
《类和对象练习题.docx》由会员分享,可在线阅读,更多相关《类和对象练习题.docx(36页珍藏版)》请在冰豆网上搜索。
![类和对象练习题.docx](https://file1.bdocx.com/fileroot1/2023-2/28/fe1f7550-190e-4d42-8035-6167238caf88/fe1f7550-190e-4d42-8035-6167238caf881.gif)
类和对象练习题
类和对象
(dd)功能复用C、代
B、可能在方法的局部
D、在方法外可见
C、必须定义多个
B、只能是一
、选择题
1、下面对方法的作用描述不正确的是:
A、使程序结构清晰B、
码简洁D、重复代码
2、方法定义的变量:
(bb)A、一定在方法所有位置可见位置可见
C、在方法外可以使用
3、方法的形参:
(a)
A、可以没有B、至少有一个
形参D、只能是简单变量
4、方法的调用:
(c)
A、必须是一条完整的语句个表达式
C、可能是语句,也可能是表达式实际参数
D、必须提供
5、return语句:
(dd)A、不能用来返回对象
C、方法都必须含有
多个return语句
6、void的含义:
(dd)
A、方法体为空
C、定义方法时必须使用
7、main()方法的返回类型是:
A、booleanB、int
B、只可以返回数值
D、一个方法中可以有
B、方法体没有意义
D、方法没有返回值cc)
C、voidD、static
8、方法重载所涉及的方法:
(a)
A、有相同的名字B、参数个数必须不同C、参数
类型必须不同D、返回类型必须不同
9、下面关于类和对象之间关系的描述,正确的是(cc)
A、联接关系B、包含关系C、具体与抽象的关系
D、类是对象的具体化
10、下面关于java中类的说法哪个是不正确的(c)
A、类体中只能有变量定义和成员方法的定义,不能有其他语句。
B、构造方法是类中的特殊方法。
C、类一定要声明为public的,才可以执行。
class定义。
B、publicclassMove()
D、一个java文件中可以有多个
11、下列哪个类声明是正确的(d)
A、publicvoidH1{…}
12、下面的方法声明中,哪个是正确的(
A、publicclassmethodName(){}
c
B、
c)
publicvoid
intmethodName(){}
C、publicvoidmethodName(){}
D
、publicvoid
methodName{}
13、下述哪些说法是不正确的?
(b
)
A、实例变量是类的成员变量
B、
实例变量是
用static关键字声明的
C、方法变量在方法执行时创建
D、
方法变量在
C、publicclassvoidnumber{}
D、publicclass
Car{…}
使用之前必须初始化
14、下面对构造方法的描述不正确是A、系统提供默认的构造方法数,所以也可以有返回值
(bb)。
B、构造方法可以有参
15、定义类头时,不可能用到的关键字是
(bb
b)。
A、classB、private
C、extends
D、
public
16、下列类头定义中,错误的是(
a
)。
A、publicxextendsy{...}
B、
publicclass
xextendsy{...}
C、classxextendsyimplementsy1{.
..}
D、
classx{...}
17、设A为已定义的类名,下列声明
A类的对象a的语句
中正确的是(d)。
A、floatAa;
B
、public
Aa=A();
C、Aa=newint();
D、static
Aa=new
A();
C、构造方法可以重载数
D、构造方法可以设置参
18、设i,j为类X中定义的int型变量名,下列X类的构造方法中不正确的是(a)。
A、voidX(intk){i=k;}B、X(intk){i=k;}
C、X(intm,intn){i=m;j=n;}D、X(){i=0;j=0;}
19、有一个类A,以下为其构造方法的声明,其中正确的是
B、publicA(int
D、staticA(intc)。
B、intx(int
D、intx(int
A、voidA(intx){...}
x){...}
C、publica(intx){...}
x){...}
20、下列方法定义中,不正确的是(A、floatx(inta,intb){return(a-b);}a,intb){returna-b;}
C、intx(inta,intb);{returna*b;}a,intb){return1.2*(a+b);}
21、设i,j为类X中定义的double型变量名,下列X类的构造方法中不正确的是(a)。
A、doubleX(doublek){i=k;returni;}B、X(){i=6;j=8;}
C、X(doublem,doublen){i=m;j=n;}D、X(double
k){i=k;}
22、设ClassA为已定义的类名,下列声明ClassA类的对象ca的语句中正确的是(a)。
A、publicClassAca=newClassA();B、publicClassAca=ClassA();
C、ClassAca=newclass();D、caClassA;
23、设m,n为类A中定义的int型变量名,下列A类的构造方法中不正确的是(a)。
A、voidA(intk){m=k;}B、A(intk){m=k;}
C、A(intm,intn){m=i;n=j;}D、A(){m=0;n=0;}
24、设i、j、k为类School中定义的int型变量名,下列类School的构造方法中不正确的是(b)。
A、School(intm){...}B、voidSchool(intm){...}
C、School(intm,intn){...}D、School(inth,intm,intn){...}
25、下列选项中,哪个是java语言所有类的父类(c)A、StringB、VectorC、ObjectD、
KeyEvent
26、Java中所有的类都是通过直接或间接地继承(a)类
得到的。
()
A、java.lang.ObjectB、java.lang.ClassC、任意类D、
以上答案都不对
27、对于任意一个类,用户所能定义的构造方法的个数至多为(d)。
A、0个B、1个C、2个D、任意个
28、构造方法何时被调用(b)
A、类定义时B、创建对象时C、调用对象方法时
D、使用对象的变量时
29、类Test1定义如下publicclassTest1{publicfloataMethod(floata,floatb){}(b)
}将以下哪种方法插入()是不合法的。
()A、publicfloataMethod(floata,floatb,floatc){}
B、publicfloataMethod(floatc,floatd){}
C、publicintaMethod(inta,intb){}
D、publicintaMethod(inta,intb,intc){}
30、用来导入已定义好的类或包的语句是(b)
A、mainB、importC、publicclassD、class
31、类是具有相同(a)的集合,是对对象的抽象描述。
()
A、属性和方法B、变量和方法C、变量和数据D、
对象和属性
32、一个对象的生命周期分(c)3个阶段。
()
A、使用、生成和清除B、清除、使用和生成
C、生成、使用和清除D、生成、清除和使用
33、以下(a)是专门用于创建对象的关键字。
(
A、newB、doubleC、classD、int
34、表达式(c)将返回当前的系统时间和日期()
A、DataFormat.getDataTime
C、DataFormat.getDataTimeInstance()
CurrentData
35、()为程序员提供了一些可完成通用任务的现有类
(A)
A、Java类库B、preExistingC、java代码D、library关键字
36、程序员通常会使用(C)
B、现有的方法
A、程序员定义的方法
D、既不是程序
C、程序员定义的得带以及现有的方法员定义的方法也不是现有的方法
37、利用方法中的()语句可为调用方法返回一个值(A)
A、returnB、backC、endD、以上
答案都不对
38、(A)方法用做返回两个参数中的较大值()
A、maxB、maximumC、largerD、greater39、(D)将被传送至一个被调用的方法()
A、返回值B、返回类型C、参数表D、
数列表
)
C、变量
D
40、方法的参数可以是(D
A、常量B、表达式
上答案都对
41、()是位于方法头中的一个以逗号分隔的声明列表(B)
A、参数表B>参数列表C、值表
变量表
42、方法的定义是由()组成的(D)
A、一个方法B、一个方法体C、一对花括号以上答案都对
43、一个(D)对象将包括int型数据()
A、IntegerObjectB、IntC、IntData
参
、以
D、
D、
D、
Integer
44、在方法调用过程中。
位于方法名之后圆括号的变量被称为(B)
A、变元B、参数C、语句D、声明
45、一条return语句将给调用程序返回(D)个值()
A、0B、1C、
任意数量
D、A和B
46、
方法的第一行被称为方法的(
D)
A、
方法体B、标题C、
调用者
D、
方法头
47、
实例变量的作用域整个的(
C
)
A、
语句块B、方法C
、类
D、
以上答案都
不对
48、
在某个方法部定义的变量被称为(
B
)
A、实例变量B、局部变量C、类变量D、隐藏变量
49、在一个类的部声明,但又处于该类方法外部的变量被称为(C)
A、局部变量B、隐藏变量C、实例变量D、常量
50、从定义局部变量语句的外部访问该局部变量,会导致()
出现(A)
A、逻辑出错B、编译错误C、运行错误D、以上答案都不对
B、的作用域为
51、实例变量(D)
A、是在一个类的部声明的变量
C、可被同一类中的任何方法所访问D、以上答案
都对
52、当方法传递一个参数时,将该参数值的一个拷贝传递给方法的传递方式称为(B)
A、调用传递B、值传递C、引用传递D、方法传
递
53、当一个变量在应用程序的整个生命周期中被使用,且整个过程中的其他值也不能被改变时,那么将他声明为一个(B)
A、局部变量B、常量C、实例变量D、
以上答案都不对
54、关键字()表示一个类定义的开始(C)
A、declareB、newC、classD、以上
答案都不对
55、类的定义必须包含在一对(
0
(B)
A、方括号B、花括号
C、逗号
56、实例变量的初始化(
B
)
A、是在他们声明时完成
B、
默认值
D、圆括号
将被设置为
C、是在一个构造方法中完成的D、以上答案都对
57、某个方法,在保证参数值有效性的前提下设置其实例变
量number,该方法的方法名最好取(C)
D、setValue
58、某个方法,在保证参数值有效性的前提下获取其实例变
量number,该方法的方法名最好取(C)
A、numberB、getC、getNumberD、
getValue
59、通过使用关键字()创建对象(D)
A、objectB、instantiateC、createD、new
60、参照以下Java代码,以下四个叙述中最确切的是
(C)classA{intx;staticinty;voidfac(Strings){System.out.println("字符串:
"+s);}}
A、x、y和s都是成员变量B、x是实例变量、y
是类变量、s是局部变量
C、x和y是实例变量、s是参数D、x、y和s都是实
例变量
61、下列关于变量作用域的描述中,不正确的一项是
(C)
A、变量属性是用来描述变量作用域的
B、局部变量作用域只能是它做在的方法代码段
C、类变量能在类的方法中声明
D、类变量的作用域是整个类
62、下列关于变量作用域的说法中,正确的一项是
(B)
A、方法参数的作用域是方法外部代码段
B、异常处理参数的作用域是方法外部代码段
C、局部变量的作用域是整个类
D、类变量的作用域是类的某个方法
63、System类在哪个包中?
(D)
A、java.utilB、java.ioC、java.awtD、
java.lang
64、给出下面代码段
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、line5C、line6D、line
1065、对于下列代码、
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、line2B、line3C、line6D、line7
66、下列关于构造方法的说话正确的是(B)
A、类中的构造方法不可省
B、构造方法必须与类同名,但方法不能与class同名
C、类的构造方法在一个对象被创建时自动执行
D、一个类只能定义一个构造方法
67、下列语句中,对构造方法的描述错误的是(D)
A、构造方法的名称必须和类名相同
B、构造方法没有返回值,返回类型也不能用void
C、构造方法在一个类中可以多次出现
D、当重写了带参数的构造方法,系统默认的不带参数的构造方法依然存在
68、下面关于java中类的说法哪个是不正确的(A)A、类体中只能有变量定义和成员方法的定义,不能有其他语句
B、构造方法是类中的特殊方法
C、类一定要声明为public的,才可以执行
D、一个java文件中可以有多个class定义
69、下列哪个不是面向对象的三大特性之一(D)
A、封装性B、继承性C、多态性
D、重载
70、下面哪种语言不是面向对象语言?
(C)
A、javaB、C++C、CD、
Smalltalk
71、在创建对象时必须(D)
A、先声明对象,然后才能使用对象
B、先声明对象,为对象分配存空间,然后才能使用对象
C、先声明对象,为对象分配存空间,对对象初始化,然后才能使用对象
D、上述说法都对
72、以下叙述不正确的是(D)
A、面向对象方法追求的目标是、尽可能地运用人类自然的思维方式来建立问题空间的模型,构造尽可能直观、自然的表达求解方法的软件系统。
B、面向对象方法的优点有、易于维护,可重用性好,易于理解、扩充和修改。
C、面向对象=对象+分类+继承+消息通信。
D、面向对象的基本特征是封装性、继承性和并行性。
73、对于构造函数,下列叙述不正确的是(B)。
A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。
B、构造函数的返回类型只能是void型。
C、构造函数的主要作用是完成对类的对象的初始化工作。
D、一般在创建新对象时,系统会自动调用构造函数。
二、填空题
1、通常用关键字NEW—来新建对象,通过类创建对象的基本格式为:
类名对象名=new构造方法宀。
2、通过类MyClass中的不含参数的构造方法,生成该类的
一个对象obj,可通过以下语句实现Myclass
obj=newMyclass();。
3、面向对象程序设计的主要特点是继承、
多态和封装。
4、构造方法是类中的一种特殊方法,它用来定义对象的
初始化。
5、在Java程序中定义的类中包括有两种成员,分别是:
成员变量、成员方法。
6、用static修饰的方法,称为静态方法。
它们不是对象的方
法,而是整个类的方法。
静态方法只能处理用关键字修饰的数据。
7、列举三个常用类库的包、java.util
、java.io和java.awt。
&Java中所有类都是类Object的子类。
9、Java中类成员的限定词有以下几种:
private、public、
friendly、protected其中,public的限定的围最大。
10、被关键字final/private修饰的方法是不能被当
前类的子类重新定义的方法。
11、JAVA程序的基本元素是_类。
12、class是JAVA语言中定义类时必须使用的关键字。
13、定义在类中方法之外的变量称为成员变量。
14、方法声明包括方法头禾口两部分。
15、方法头确定方法的方法名,形式参数的名字和
类型、返回值的类型和绯闻限制。
16、方法体由包括在花括号的声明部分和语句部分组成,描述方法的功能。
17、类头定义的基本格式要求为—修饰符——_、__class关键字、_____类名和花括号__。
18、亍寸象是指Java程序通过规则引擎调用此规则包时,将数据存储在Java的类中,以对象的形式传入。
19、在Java类对象的编辑窗口中直接输入需要导入的类的完成类名。
20、类是Java的核心容,是用来创建对象的模板。
21、类有两种基本成员是方法和成员变
日
.量。
22、一个Java源文件就是由若干个类构成的。
23、类—是抽象,而对象是具体。
24、.对象的创建、创建对象的过程就是类的实例化的过程
25、对象的创建的步骤、
及。
26、使用new运算符实例化一个已经声明的类—
27、实例化一个对象时,会同时调用类的构造方法对它进
行。
28、类的是特殊的类方法,它必须和类同名,并
且不能有返回类型,也不能用void来标注。
29、构造方法是具有特殊地位的方法,不可以调用构造方法。
30、一个类中可以有多个
31、类里面如果没有,系统会调用默认的构造方法,默认的构造方法是不带任何参数的。
32、包主要来解决的问题。
33、既是命名机制,又是可见度控制机制。
34、java语言的属性与方法的引用均使用—_运算符。
35、定义类时通常使用关键字,,
36、写出成员变量的定义格式
37、对象的生命周期包括三个阶
段、、。
38、Java中类成员的访问控制符有以下几种、private,public,
——,。
其中,—一的限定的围最大。
39、Java中所有类都是类____的子类。
Applet类是系统类_—类的子类,存在于—包中。
40、按作用域分类,变量有局部变量、_^、方法变量
和异常处理参数。
41、JAVA语言通过接口支持―—继承,使类继承具有更灵活的扩展性。
42、JAVA语言中_—是所有类的根。
三、程序填空
1、请写出下面程序的运行结果。
package.gem.j2SE03;
abstractclassA{
privateintx=100;
publicA(){
this.print();
}
publicabstractvoidprint();
}
classBextendsA{
privateintx=200;
publicB(intx){
this.x=x;
publicvoidprint(){System.out.println("x="+x);
}
}
publicclassTestJava{
privatevoidmian(){
Aa=newB(20);
}
}程序运行结果为:
2、请写出下面程序的运行结果。
publicclassTestextendsTT{publicvoidmain(Stringargs[]){Testt=newTest("Tom");
}
publicTest(