类的封装与继承习题题.docx
- 文档编号:5711789
- 上传时间:2022-12-31
- 格式:DOCX
- 页数:12
- 大小:19.24KB
类的封装与继承习题题.docx
《类的封装与继承习题题.docx》由会员分享,可在线阅读,更多相关《类的封装与继承习题题.docx(12页珍藏版)》请在冰豆网上搜索。
类的封装与继承习题题
1.以下关于继承的叙述正确的是(C)。
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
2.有继承关系时用到的关键字是(A)。
(2分)
A:
extend
B:
extends
C:
implements
D:
implement
3:
Java变量中,以下不属于复合类型的数据类型是(D)。
(2分)
A:
类
B:
字符型
C:
数组型
D:
接口
4:
java中定义数组名为abc,下面(B)可以得到数组元素的个数。
(2分)
A:
abc.length()
B:
abc.length
C:
len(abc)
D:
ubound(abc)
5:
下列说法正确的是(A)。
(2分)
A:
编译后的Java源程序根据文件中定义的类和接口的个数产生相应个数的.class字节码文件。
B:
Java语言的源文件中不是任何地方都可以加注释的。
C:
一个文件中可以有多个访问权限为public的类。
D:
含有main()方法的类可以为public的类,也可以为其他类。
6:
在调用构造函数时(C)(2分)
A:
子类可以不加定义就使用父类的所有构造函数
B:
不管类中是否定义了何种构造函数,创建对象时都可以使用默认构造函数
C:
先调用父类的构造函数
D:
先调用形参多的构造函数
7:
Java与C/C++比较说法错误的是(D)。
(2分)
A:
Java不提供goto语句,所以也就没指定goto作为关键字。
B:
Java没有指针。
C:
Java没有联合和结构
D:
Java只有单继承没有多重继承。
8:
若需要定义一个类域或类方法,应使用(B)修饰符。
(2分)
A:
static
B:
package
C:
private
D:
public
9:
下列说法(C)是正确的。
(2分)
A:
程序执行到break语句是一定会结束所有的循环
B:
程序执行到continue语句时会结束当前循环
C:
break语句和continue语句都可以和标签协同使用
D:
continue语句和break语句的作用相同
10:
以下说法正确的是(D)。
(2分)
A:
每个Java类都至少有一个构造方法,如果没有则机器自动生成一个默认的构造方法。
B:
如果类里定义了一个或多个构造方法,那么java也提供默认的构造方法
C:
每个Java类中用户必须定义至少一个构造方法。
D:
以上都不对
11:
对封装的理解正确的是(A)。
(3分)
A:
封装就是把对象的属性和行为结合成一个独立的单位。
B:
封装就是把对象完全隐蔽起来,不让外界访问。
C:
封装性是一个使用问题。
D:
封装和抽象是一回事。
12:
对成员的访问控制保护最强的是(C)。
(3分)
A:
public
B:
缺省
C:
private
D:
protected
13:
类Test1定义如下:
1.publicclassTest1{
2.publicfloataMethod(floata,floatb){}
3.
4.}将以下(B)方法插入行3是不合法的。
(3分)
A:
publicfloataMethod(floata,floatb,floatc){}
B:
publicfloataMethod(floatc,floatd){}
C:
publicintaMethod(inta,intb){}
D:
privatefloataMethod(inta,intb,intc){}
14关于构造函数的说法(B)正确。
(2分)
A:
一个类只能有一个构造函数
B:
一个类可以有多个不同名的构造函数
C:
构造函数与类同名
D:
构造函数必须自己定义,不能使用父类的构造函数
15:
关于以下程序段,正确的说法是(D)。
1.Strings1=”abc”+”def”;2.Strings2=newString(s1);3.if(s1==s2)4.System.out.println(“==succeeded”);5.if(s1.equals(s2))6.System.out.println(“.equals()succeeded”);(2分)
A:
程序将输出:
==succeeded
B:
程序将输出:
.equals()succeeded
C:
程序将输出:
==succeeded.equals()succeeded
D:
程序无输出
16:
关于以下程序代码的说明正确的是(C)。
1.classHasStatic{2.privatestaticintx=100;3.publicstaticvoidmain(Stringargs[]){4.HasStatichs1=newHasStatic();5.hs1.x++;6.HasStatichs2=newHasStatic();7.hs2.x++;8.hs1=newHasStatic();9.hs1.x++;10.HasStatic.x--;11.System.out.println(“x=”+x);12.}13.}(2分)
A:
5行不能通过编译,因为引用了私有静态变量
B:
10行不能通过编译,因为x是私有静态变量
C:
程序通过编译,输出结果为:
x=103
D:
程序通过编译,输出结果为:
x=102
三、程序阅读题
1、以下程序的输出结果为___Peteris17yearsold!
___________________。
publicclassPerson{
Stringname;
intage;
publicPerson(Stringname,intage){
this.name=name;
this.age=age;
}
publicstaticvoidmain(String[]args){
Personc=newPerson("Peter",17);
System.out.println(c.name+"is"+c.age+"yearsold!
");
}
}
2、以下程序的输出结果为__课程号:
101__课程名:
ASP__学分:
_3_________________。
publicclassCourse{
privateStringcNumber;
privateStringcName;
privateintcUnit;
publicCourse(Stringnumber,Stringname,intunit){
cNumber=number;
cName=name;
cUnit=unit;
}
publicvoidprintCourseInfo(){
System.out.println("课程号:
"+cNumber+"课程名:
"+cName+"学分:
"+cUnit);
}
}
classCourseTest{
publicstaticvoidmain(String[]args){
Coursec;
c=newCourse("101","ASP",3);
c.printCourseInfo();
}
}
3、以下程序的输出结果为_汤姆猫_体重:
20斤_____________________。
publicclassTom{
privatefloatweight;
privatestaticStringname;
publicvoidsetWeight(floatweight){
this.weight=weight;
}
privatevoidout(){
System.out.println(name+"体重:
"+weight+"斤");
}
publicstaticvoidmain(String[]args){
Tom.name="汤姆猫";
Tomcat=newTom();
cat.setWeight(20);
cat.out();
}
}
4、以下程序的输出结果:
姓名:
Tom年龄:
15家庭住址:
金水区学校:
九中电话:
66123456
publicclassFather{
Stringname,address,tel;
intage;
publicFather(Stringname,intage){
this.name=name;
this.age=age;
}
voidout(){
System.out.print("姓名:
"+name);
System.out.print("年龄:
"+age);
}
voidoutOther(){
System.out.print("家庭住址:
"+address);
System.out.print("电话:
"+tel);
}
}
classSonextendsFather{
Stringschool;
publicSon(Stringname,intage){
super(name,age);
}
voidout(){
super.out();
super.outOther();
System.out.println("学校:
"+school);
}
publicstaticvoidmain(Stringargs[]){
Sonson=newSon("Tom",15);
son.address="金水区";
son.school="九中";
son.tel="66123456";
son.out();
}
}
5、下列程序的运行结果是__12345___________________。
publicclassMyClass{
inta[]={1,2,3,4,5};
voidout(){
for(intj=0;j System.out.print(a[j]+""); } publicstaticvoidmain(String[]args){ MyClassmy=newMyClass(); my.out(); } } 1、importjava.io.*; publicclassabc { publicstaticvoidmain(Stringargs[]) { ABs=newAB("Hello! ","IloveJAVA."); System.out.println(s.toString()); } } classAB{ Strings1; Strings2; publicAB(Stringstr1,Stringstr2) { s1=str1; s2=str2; } publicStringtoString() { returns1+s2; } } 运行结果: ____Hello! IloveJAVA.________________ 2、importjava.io.*; publicclassabc { publicstaticvoidmain(Stringargs[]) {inti,s=0; inta[]={10,20,30,40,50,60,70,80,90}; for(i=0;i if(a[i]%3==0)s+=a[i]; System.out.println("s="+s); } } 运行结果: __s=180__________________ 3、importjava.io.*; publicclassabc { publicstaticvoidmain(Stringargs[]) { System.out.println("a="+a+"\nb="+b); } } classSubClassextendsSuperClass {intc; SubClass(intaa,intbb,intcc) { super(aa,bb); c=cc; } } classSubSubClassextendsSubClass {inta; SubSubClass(intaa,intbb,intcc) {super(aa,bb,cc); A=aa+bb+cc; } voidshow() { System.out.println("a="+a+"\nb="+b+"\nc="+c); } } 运行结果: a=60 b=20 c=30 1.以下程序的输出结果为相等____________________。 classStringTest1 { publicstaticvoidmain(String[]args) { Strings1="hello"; Strings2=newString("hello"); if(s1.equals(s2)){ System.out.println("相等"); }else{ System.out.println("不相等"); } } } 2.以下程序段的输出结果为56789____________________。 publicclassTestArray { publicstaticvoidmain(Stringargs[]){ inti,j; inta[]={5,9,6,8,7};
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 封装 继承 习题