类的封装与继承习题题.docx

上传人:b****5 文档编号:5711789 上传时间:2022-12-31 格式:DOCX 页数:12 大小:19.24KB
下载 相关 举报
类的封装与继承习题题.docx_第1页
第1页 / 共12页
类的封装与继承习题题.docx_第2页
第2页 / 共12页
类的封装与继承习题题.docx_第3页
第3页 / 共12页
类的封装与继承习题题.docx_第4页
第4页 / 共12页
类的封装与继承习题题.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

类的封装与继承习题题.docx

《类的封装与继承习题题.docx》由会员分享,可在线阅读,更多相关《类的封装与继承习题题.docx(12页珍藏版)》请在冰豆网上搜索。

类的封装与继承习题题.docx

类的封装与继承习题题

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};

for(i=0;i

intk=i;

for(j=i;j

if(a[j]

inttemp=a[i];

a[i]=a[k];

a[k]=temp;

}

for(i=0;i

System.out.print(a[i]+"");

System.out.println();

}

}

3.写出以下程序的功能。

importjava.io.*;

publicclassTestFile

{

publicstaticvoidmain(Stringargs[])throwsException

{

BufferedReaderbr=newBufferedReader(

newInputStreamReader(System.in));

BufferedWriterbw=newBufferedWriter(newFileWriter(“input.txt"));

Strings;

while(true)

{

System.out.print("请输入一个字符串:

");

System.out.flush();

s=br.readLine();

if(s.length()==0)break;

bw.write(s);

bw.newLine();

}

bw.close();

}

}

功能:

判断输入字符串是否等于input.txt文件中的字符串

4.阅读以下程序,写出输出结果。

classAnimal{

Animal(){

System.out.print("Animal");}

}

public

classDogextendsAnimal{

Dog(){

System.out.print("Dog");}

 

publicstaticvoidmain(String[]args){

Dogsnoppy=newDog();}

}

输出结果:

_Animal___Dog________________

 

五、程序设计题

1、按以下要求编写程序

(1)创建一个Rectangle类,添加width和height两个成员变量

(2)在Rectangle中添加两种方法分别计算矩形的周长和面积

(3)编程利用Rectangle输出一个矩形的周长和面积

解答:

packagetraining5;

//

(1)创建一个Rectangle类,添加width和height两个成员变量

//

(2)在Rectangle中添加两种方法分别计算矩形的周长和面积

//(3)编程利用Rectangle输出一个矩形的周长和面积

publicclassRectangle{

privateintwidth;

privateintheight;

publicRectangle(intwidth,intheight){

this.width=width;

this.height=height;

}

publicvoidsquare(){

intsquare;

square=width*height;

System.out.println("面积:

"+square);

}

publicvoidzhouc(){

intzhouc;

zhouc=2*(width+height);

System.out.println("周长;"+zhouc);

}

publicstaticvoidmain(Stringargs[]){

Rectanglejux=newRectangle(3,5);

jux.square();

jux.zhouc();

}

}

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 法学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1