类和对象汇总.docx
- 文档编号:15862284
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:29
- 大小:26.09KB
类和对象汇总.docx
《类和对象汇总.docx》由会员分享,可在线阅读,更多相关《类和对象汇总.docx(29页珍藏版)》请在冰点文库上搜索。
类和对象汇总
类和对象
一、选择题
1.下列语句序列执行后,i的值是(D)。
inti=16;
do{i/=2;}while(i>3);
A)16B)8C)4D)2
2.下列语句序列执行后,k的值是(D)。
intj=8,k=15;
for(inti=2;i!
=j;i++){j-=2;k++;}
A)18B)15C)16D)17
3.定义类头时,不可能用到的关键字是(B)。
A)classB)privateC)extendsD)public
4.下列类头定义中,错误的是(A)。
A)publicxextendsy{...}
B)publicclassxextendsy{...}
C)classxextendsyimplementsy1{...}
D)classx{...}
5.设A为已定义的类名,下列声明A类的对象a的语句中正确的是(D)。
A)floatAa;B)publicAa=A();
C)Aa=newint();D)staticAa=newA();
6.设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;}
7.有一个类A,以下为其构造方法的声明,其中正确的是(B)。
A)voidA(intx){...}B)publicA(intx){...}
C)publica(intx){...}D)staticA(intx){...}
8.下列方法定义中,不正确的是(D)。
A)floatx(inta,intb){return(a-b);}
B)intx(inta,intb){returna-b;}
C)intx(inta,intb);{returna*b;}
D)intx(inta,intb){return1.2*(a+b);}
9.Java语言的类间的继承关系是(B)。
A)多重的B)单重的C)线程的D)不能继承
10.以下关于Java语言继承的说法正确的是(C)。
A)Java中的类可以有多个直接父类B)抽象类不能有子类
C)Java中的接口支持多继承D)最终类可以作为其它类的父类
11.现有两个类A、B,以下描述中表示B继承自A的是(D)。
A)classAextendsBB)classBimplementsA
C)classAimplementsBD)classBextendsA
12.以下关于Java语言继承的说法错误的是(A)。
A)Java中的类可以有多个直接父类B)抽象类可以有子类
C)Java中的接口支持多继承D)最终类不可以作为其它类的父类
13.现有两个类M、N,以下描述中表示N继承自M的是(D)。
A)classMextendsNB)classNimplementsM
C)classMimplementsND)classNextendsM
14.Java语言的类间的继承的关键字是(B)。
A)implementsB)extendsC)classD)public
15.设i,j为类X中定义的double型变量名,下列X类的构造方法中不正确的是(A)。
A)doubleX(doublek){i=k;returni;}C)X(){i=6;j=8;}
B)X(doublem,doublen){i=m;j=n;}D)X(doublek){i=k;}
16.设ClassA为已定义的类名,下列声明ClassA类的对象ca的语句中正确的是(A)。
A)publicClassAca=newClassA();B)publicClassAca=ClassA();
C)ClassAca=newclass();D)caClassA;
17.设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;}
18.设i、j、k为类School中定义的int型变量名,下列类School的构造方法中不正确的是(B)。
A)School(intm){...}B)voidSchool(intm){...}
C)School(intm,intn){...}D)School(inth,intm,intn){...}
19.下列选项中,用于定义接口的关键字是(A)。
A)interfaceB)implementsC)abstractD)class
20.下列选项中,用于实现接口的关键字是(B)。
A)interfaceB)implementsC)abstractD)class
21.现有类A和接口B,以下描述中表示类A实现接口B的语句是(A)。
A)classAimplementsBB)classBimplementsA
C)classAextendsBD)classBextendsA
22.下列选项中,定义抽象类的关键字是(C)。
A)interfaceB)implementsC)abstractD)class
23.下列选项中,定义最终类的关键字是(D)。
A)interfaceB)implementsC)abstractD)final
24.下列选项中,哪个是java语言所有类的父类(C)
A)StringB)VectorC)ObjectD)KeyEvent
25.下列选项中,表示数据或方法可以被同一包中的任何类或它的子类访问,即使子类在不同的包中也可以的修饰符是(B)
A)publicB)protectedC)privateD)final
26.下列选项中,表示数据或方法只能被本类访问的修饰符是(C)
A)publicB)protectedC)privateD)final
27.下列选项中,接口中方法的默认可见性修饰符是(A)
A)publicB)protectedC)privateD)final
28.如果子类中的方法mymethod()覆盖了父类中的方法mymethod(),假设父类方法头部定义如下:
voidmymethod(inta),则子类方法的定义不合法的是:
(C)
A)publicvoidmymethod(inta)B)protectedvoidmymethod(inta)
C)privatevoidmymethod(inta)D)voidmymethod(inta)
29.在某个类中存在一个方法:
voidsort(intx),以下不能作为这个方法的重载的声明的是(B)。
A)publicfloatsort(floatx)B)intsort(inty)
C)doublesort(intx,inty)D)voidsort(doubley)
30.为了区分类中重载的同名的不同方法,要求(A)。
A)采用不同的形式参数列表B)返回值类型不同
C)调用时用类名或对象名做前缀D)参数名不同
31、在类的定义中,通过使用A关键字可创建一个现有类的子类。
A.extendsB.implementsC.inheritsD.modifies
32、为了调用超类的方法,可以使用C关键字后跟包含该超类所需参数的一对圆括号。
A.superclassB.superconstructorC.superD.以上答案都不对
33、Java中所有的类都是通过直接或间接地继承___A___类得到的。
A.java.lang.ObjectB.java.lang.ClassC.任意类D.以上答案都不对
34、用private声明的类成员,其最大的访问范围是_______A__________。
A.本类B.本包中的所有类C.所有包中的子类D.所有包中的全部类
35、对于任意一个类,用户所能定义的构造方法的个数至多为____D________。
A.0个 B.1个 C.2个 D.任意个
36、不论异常是否产生,B(如果存在)总会执行。
A.catch语句块B.finally语句块C.catch和finally语句块D.以上答案都不对
37、现有两个类A、B,以下描述中表示B继承自A的是(D_)
A、classAextendsBB、classBimplementsA
C、classAimplementsD、classBextendsA
38、构造方法何时被调用(B_)
A、类定义时B、创建对象时
C、调用对象方法时D、使用对象的变量时
39、Java语言的类间的继承关系是(A)
A)单继承B)多继承
C)单继承和多继承D)不能继承
40、如果创建的一个子类覆盖一个父类public方法,则对该方法可以使用哪些修饰符修饰?
(A)
A)public
B)public和protected
C)privite
D)任意修饰符都可以,由系统随机选取
41、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是(A)
A、可以被三种类所引用:
该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B、可以被两种类访问和引用:
该类本身、该类的所有子类
C、只能被该类自身所访问和修改
D、只能被同一个包中的类访问
42、类Test1定义如下:
publicclassTest1{
publicfloataMethod(floata,floatb){}
()
}
将以下哪种方法插入()是不合法的。
(B)
A、 publicfloataMethod(floata,floatb,floatc){}
B、 publicfloataMethod(floatc,floatd){}
C、 publicintaMethod(inta,intb){}
D、publicintaMethod(inta,intb,intc){}
43、用来导入已定义好的类或包的语句是(B)
A、main B、import
C、publicclass D、class
44、类是具有相同(A_)的集合,是对对象的抽象描述。
()
A、属性和方法B、变量和方法C、变量和数据D、对象和属性
45、一个对象的生命周期分()3个阶段。
(C)
A、使用、生成和清除B、清除、使用和生成
C、生成、使用和清除D、生成、清除和使用
46、面向对象的一个重要特征()它使代码可重用,降低程序复杂性。
(C)
A、类B、内部类C、继承性D、多态
47、下面对java继承机制描述错误的是:
(C)
A、声明子类时用extends关键字
B、继承是面向对象的一个重要特征
C、java支持多重继承
D、继承时子类可以添加自己的方法
48、对关键字super的用法描述正确的是:
(D)
A、用来调用父类的构造方法
B、用来调用父类中被重载的方法
C、用来调用父类中隐藏的成员变量
D、以上说法都正确
49、方法的重载指多个方法可以使用相同的名字,但是参数的数量或类型必须不完全相同,即方法体有所不同,它实现了java编译时的:
(A)
A、多态性B、接口C、封装性D、继承性
50、下列那些内容是异常的含义:
(C)
A、程序的语法错误
B、程序的编译错误
C、程序执行过程的错误
D、程序编译或运行所发生的异常事件
51、当子类中的成员变量与父类中的成员变量相同时:
(A)
A、子类中的成员变量隐藏父类中的变量
B、父类中的成员变量隐藏子类中的变量
C、子类中变量无效
D、该声明非法
二、填空题
1.如果子类中的某个变量的变量名与它的父类中的某个变量完全一样,则称子类中的这个变量___覆盖_____了父类的同名变量。
2.属性的隐藏是指子类重新定义从父类继承来的____同名成员变量______。
3.如果子类中的某个方法的名字、返回值类型和__参数______与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。
4.Java仅支持类间的__单__继承。
5.抽象方法只有方法头,没有__方法体______。
6.Java语言的接口是特殊的类,其中包含_public,static,fianl
_____常量和_public和abstract
______方法。
7.接口中所有属性均为___public,static,_____和__final______的。
8.如果接口中定义了一个方法methodA(),一个属性attA,那么一个类ClassA要实现这个接口的话,就必须实现其中的__methodA()_____方法。
9.一个类如果实现一个接口,那么它就必须实现接口中定义的所有方法,否则该类就必须定义成__class______的。
10.如果子类中的某个方法的名字、___顺序_______和参数列表与它的父类中的某个方法完全一样,则称子类中的这个方法覆盖了父类的同名方法。
11.Java仅支持类间的单重继承,接口可以弥补这个缺陷,支持__多___继承
12.在方法头用abstract修饰符进行修饰的方法叫做___抽象_____方法。
13.Java语言中用于表示类间继承的关键字是__extends_________。
14.接口中所有方法均为__抽象方法______和__类方法______的。
15.Java语言中,表示一个类不能再被继承的关键字是___final_____。
16.Java语言中,表示一个类A继承自父类B,并实现接口C的语句是____
InterfaceB{
Viodsmall2();
}
InterfaceAextendsB{
Viodsmall3();
}
classCimplementsA,B{
PublicViodsmall2{
System.out.println(“A”);
}
PublicViodsmall3{
System.out.println(“B”);
}
}
_____________。
17.如果子类中的方法compute()覆盖了父类中的方法compute(),假设父类的compute()方法头部有可见性修饰符public,则methodS()的可见性修饰符必须是___public_______。
18.同一个类中多个方法具有相同的方法名,不同的___参数__________称为方法的重载。
19..通过类MyClass中的不含参数的构造方法,生成该类的一个对象obj,可通过以下语句实现:
_______________________________。
20.通过类A中的不含参数的构造方法,生成该类的一个对象a,可通过以下语句实现:
_
ClassA{
A(){
}
Aa=newA();
}
_________________。
21、如果一个方法没有返回值,则该方法返回值类型为__void______。
22、面向对象程序设计的主要特点是__抽象性____、__封装性_______和___多态性______。
23、在Java程序中,通过类的定义只能实现单重继承,但通过_接口_____的定义可以实现多重继承关系。
24、构造方法是类中的一种特殊方法,用它来定义对象的。
25、方法重载实现多态时,要求参数的个数,顺序,数据类型三个中的一个必须不同。
26、在java的接口中声明的成员变量全部是public,static,fianl
,声明的方法是public和abstract。
27、在java源文件中最多只能有一个父类,其他类个数不限。
三、程序填空题
1.下面是一个类的定义,请完成程序填空。
publicclass__Myclass__________
{
intx,y;
Myclass(inti,___inty____)//构造方法
{
x=i;y=j;
}
}
2.下面是一个类的定义,请将其补充完整。
class_Student____
{
Stringname;
intage;
Student(_String____s,inti)
{
name=s;
age=i;
}
}
3.下面程序的功能是通过调用方法max()求给定的三个数的最大值,
请将其补充完整。
publicclassClass1
{
publicstaticvoidmain(Stringargs[])
{
inti1=1234,i2=456,i3=-987;
intMaxValue;
MaxValue=____max()________;
System.out.println("三个数的最大值:
"+MaxValue);
}
public__class____intmax(intx,inty,intz)
{inttemp1,max_value;
temp1=x>y?
x:
y;
max_value=temp1>z?
temp1:
z;
returnmax_value;
}
}
4.下面是一个类的定义,完成程序填空。
publicclassYouwrite
{
intx;
_Youwrite______(){x=0;}
Youwrite(intx)
{__this.x=x___;}
}
5.下面是定义一个接口ITF的程序,完成程序填空。
public_interface______ITF
{
publicstaticfinaldoublePI=Math.PI;
public______doublearea(doublea,doubleb);
}
四、程序阅读题
1、写出下列程序的输出结果
publicclassTest
{
publicstaticvoidmain(String[]args)
{
CountmyCount=newCount();
inttimes=0;
for(inti=0;i<100;i++)
increment(myCount,times);
System.out.println(“countis”+myCount.count);
System.out.println(“timeis”+times);
}
publicstaticvoidincrement(Countc,inttimes)
{
c.count++;
times++;
}
}
classCount
{
publicintcount;
Count(intc)
{
count=c;
}
Count()
{
count=1;
}
}
结果:
countis101
timeis0
2、写出下列程序的输出结果:
classCircle{
doubleradius;
publicCircle(doubler){
this.radius=r;
}
}
publicclassTest
{
publicstaticvoidmain(String[]args)
{
Circlecircle1=newCircle
(1);
Circlecircle2=newCircle
(2);
System.out.println("Beforeswap:
circle1="+circle1.radius
+"circle2="+circle2.radius);
swap(circle1,circle2);
System.out.println("Afterswap:
circle1="+circle1.radius
+"circle2="+circle2.radius);
}
publicstaticvoidswap(Circlex,Circley)
{
System.out.println("Beforeswap:
x="+x.radius
+"y="+y.radius);
Circletemp=x;
x=y;
y=temp;
System.out.println("Beforeswap:
x="+x.radius
+"y="+y.radius);
}
}
结果:
Beforeswap:
circle1=1.0circle2=2.0
Beforeswap:
x=1.0y=2.0
Beforeswap:
x=2.0y=1.0
Afterswap:
circle1=1.0circle2=2.0
3.下列程序的输出结果是什么?
publicclassFoo
{
staticinti=0;
staticintj=0;
publicstaticvoidmain(String[]args)
{
inti=2;
intk=3;
{
intj=3;
System.out.println(“i+jis”+i+j);
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 对象 汇总