Java面向对象知识测试A卷答案.docx
- 文档编号:15535671
- 上传时间:2023-07-05
- 格式:DOCX
- 页数:16
- 大小:175.13KB
Java面向对象知识测试A卷答案.docx
《Java面向对象知识测试A卷答案.docx》由会员分享,可在线阅读,更多相关《Java面向对象知识测试A卷答案.docx(16页珍藏版)》请在冰点文库上搜索。
Java面向对象知识测试A卷答案
1:
1
向对象部分测试题
考试宣言:
同学们,考试考多少分不是我们的目的!
排在班级多少的名次也不是我们的初衷!
我们考试的目的是要通过考试中的题目.检査大家在这段时间的学习中,是否已经把需要掌握的知识掌握住了,如果哪道题目你不会做,又或者做错了,那么不用怕,考完试后,导师讲解的时候你要注意听!
那时候学会了,记住了,也一样不影响你高薪就业!
本套题共40道不定项选择题,其中单选30道,多选10道。
单选2
分/题,多选4分/题。
多选题不全对半分,全对满分。
A.
要有子类继承或实现
dC・
父类中被private权限修饰的方法可以被子类逍写
D.子类重写接口中的抽象方法,子类的方法权限必须是publiC的//接口所有方法前面都是默认publ1Cab$tract
2.下而关于类的设汁思路描述错误的是{
A.°根据需求;^^义类所包含的字段(成员变量)
B.根据而向对象的思想要求,隐藏属性和实现细节之后,可以提供公共的访问方式
C.°封装之后的字段在本类内也必须使用get/set方法//private修饰之后
可以在本类中直接使用,不需要通过get/set方法调用
D.按需求可以在类中定义若干构造方法
填入()。
ClassA{
pubIicV0idtest(){
System.out.printIn(*'A类的test()方法"):
classBeXtendsA{
publicvoidtest(){
System.oprint1n("B类的test()方法");
publicstaticvoidmain(Stringargs[]){
Aa=new3();
6a.test()
B.Aa=newA{);
test():
6Bb=newA();
b.test();
0B.封装提高重用性。
°C・。
封装提髙安全性oD.只有被Private修饰才叫做封装//仅仅是封装的一种
5.试图编译运行下而的代码会发生什么情况
publicc1assMyClass{
staticinti;//int型的成员变量默认值为0
pub1icstaticvoidmain(String[]args){System.out-printIn(i):
A-错误,变量i没有被初始化
0B•输出null
D.3输出0
A.,静态修饰的成员变量和成员方法随着类的加载而加载
B,静态修饰的成员方法可以访问非静态成员变量//对象都没有,访问什么呀?
C.静态修饰的成员可以被整个类对彖所共亭
D静态修饰的成W变量和成员方法随着类的消失而消失
abstractc1assShape
dabstractvoiddraw();
要创建Shape类的子类Circie,以下代码正确的是()。
A.oclassCircieextendsShape{intdraw(){}
B.abstractclassCircIeextendsShape{
Voiddraw();
Voiddraw(){}}
C,dclassCircleextendsShape{
D.c1assCircleextendsShape{
8.在Java中,下而对于构造函数的描述正确的是()0
A.
类必须显式定义构造函数
用写•
C.构造函数和类有相同的名称,并且不能带任何参数oD.一个类可以窪义多个构适函数
9•下而Java代码的运行结果是()O
classPenguin{
//下面蓝色的部分被称为属性,字段,成员变量
dprivateStringname=nul1:
//名字
dpriVateinthealth=0;//健康值
Privatestringsex=nu11;//性别
publievoidPenguin(}{//构造方法没有void,所以这是个普
通的方法
doSystem・out.println("执行构造方法q");
dpub1icVoidprint(){
dSystem,out.printIn{*'企鹅的需字是"+name+
八「,健康值是”+health+”,性别是”+sex+"
publicstaticvoidmain(String[]args){
8dPenguinpgn=newPenguinC);
opgn-print();
°A・。
企鹅的名字是null,健康值是ID,性别是雄。
B,,执行构造方法。
企鹅的名字是null,健康值是S性别是null。
°D•。
执行构造方法。
企鹅的名字是null,健康值是10,性别是雄。
10•在Java中'下而关于抽象类的描述正确的是()。
A.抽象类本身可以被实例化
B.如果一个类中有一个方法被声明为抽彖的,那么这个类必须是抽象类
C.抽象类中的方法必须都是抽象的
D.8声明抽象类必须带有关键字abstract
11•给泄如下Java程序代码,在___横线处加入()语句,可以使这段代码编译通过。
interfaceParent{
pubIicintcount(inti);
publicclassTestimplementsParent{
publieintcount(inti){
returni%9;
0publicstaticvoidmain{String[]args){
inti=p.count(20);
oA-Testp=newTest():
dC・
Parentp=newParent();
oD.dTestp=newParent();
12•下面说法正确的是(
°A•匿名内部类编译后不会生成.claSS文件//也会生成,大家可以自己试下.
°B・.接口编译后不会生成.class文件//也会有的,大家可以自己试下.
°C•。
抽彖类中没有构造方法//有构造方法,给子类使用.
D.局部内部类只能访问被final修饰的局部变量。
13•类Student中构造方法声明正确的是哪一项?
{)
A:
classStUdent
opubIicStudent{)
dpublicvoidStudent(){}
D:
classStudent
newStudent{}{}
14•下而对this的作用描述错误的是
。
A•,当成员变量和局部变量重名的时候可以用this区分
oB.this()语句必须放在构造函数的第一行,根据this后面括号中的参数调用本类其他的构造函数.
c.othis可以用本类的一般函数
D.this可以调用父类的一般函数//需要首先调用父类的属性或方法,要用
Super关键字
15•在Java中,以下程序编译运行后的输出结果为()。
publicclassTest{
intX,y;
Test(intx,inty){
publicstaticvoidmain(String[]args){
Testpt1,pt2;
ptl=newTest{3,3);
pt2=newTest(4,4):
System.out.print(ptl.x+pt2.k):
o6
o3
16•在java中,已定义了两个接口B和G以下语句正确的是()
A・^interfaceAextendsB,C
B-dinterfaceAimplementsB,C
C.iassAimplements3,C
D.dclassAimplementsB,implementsC
17.给世一个Java程序Test,java的代码如下所示,编译时,会出现以下(〉情况。
classP
classTestextendsParent{
Publicfloatcounto{//第2行//子类重写父类方法,要求返
回值必须一致•按继承算也会报错,因为构不成重载
//第3行
oreturn9;
oA..编译通过°B,在第1行引发编译错误
C.在第2行引发編译错误
D,在第3行引发编译错误
18•在Java接口中定义常量,下而语法正确的是().
A.aStaticfinalintMALE=1aB,finaJintMALE=1;
oCoinMALE=1
D•privateintMALE=1;
publicStaticfinalintMALE=1;接口中只企义常量的方法.
pub1icabstract返回值method();接口中只圮义抽彖方法・
19•给Java程序Chi1d.java的代码如下所示,则编译运行该类的结果是()。
classParent{
Parent(){
System.out.printIn("parent''):
PubliCclassChi1dextendsParent
Chi1d(Strings){
System.out-println(s);
publiestaticvoidmain(String[]args){
Childchi1d=newChi1d("chi1d");//先调用父类的
无参构造函数,再调自己的有参构造・
qA・dchi1doB•dchiId
oparentoCparent
ochiId
D・,编译错误
20.下列选项中关于Java中super关键字的说法错误的是(八
A.当子父类中成员变量重名的时候,在子类方法中想输出父类成员变量的值,可以用super区分子父类成员变量
B.super语句可以放在构造函数的任总一行//super()语句必须放在第1行,死
规定,记住•
°C.,子类可以通过super关键字调用父类的方法
D.子类可以通过super关键字调用父类的属性
21.分析如下所示的Java代码,则选项中的说法正确的是{)o
Cla$SParent{
dpub1icStringname;
bpub1icParent(StringpName)(
athis.name=pName;
•。
第2行错误,Test类的构造函数中参数名称应与其父类构造函数中的参数需柑同
B.第3行错島应使用super关键字调用父类的name属性,改为sUper.n
ame="hello”;
C,。
第4行错误.调用父类构造方法的语句必须放在子类构适方法中的第一行
°D•。
程序编译通过,无错误
22•以下关于0bject类说法错误的是{)o
4.一切类都直接或间接继承自Object类
oB..接口也继承Object类//接口并没有继承Object类.所有的接口都默认具
备Object中的方法的抽象形式,以备给子类使用•
C.Object类中崔义了tostring()方法
D•oObject类在java.1ang包中
23.在Java中,多态的实现不仅能减少编码的工作量,还能大大提高程序的可维护性及可
扩展性,下而哪一个选项不属于多态的条件()o
oA・.子类重写父类的方法
°B・。
子类重载同一个方法//重载是指同一个类中重名方法,但是参数不同(参数个数,参
数顺序,参数类型不同)
C・。
要有继承或实现
D.父类引用指向子类对象
publ1Cvoidmethod(){
c1assSampie{
A.dBasemethodoB.Chi1dmethodB
Methods
oC.dBasemethodChild°D・编译错決
25•下而关于Java接口的说法正确的是(九
oA.JaVa接口中念义的是扩展功能
B..Java接口中可以被多个子类实现,一个类也可以同时实现多个接口°C.Java接口中可以声明私有成员oD.Java接口本身不能被实例化
26•在Java接口中,下列选项中属于有效的方法声明是(八
A.opub1icvoidaMethod{);//接口中默认Publieabstract方法方法名();
B.ofinalvoidaMethodC);//这也是不行的,fina1修饰后就不能被子类
实现
oC.dvoidaMethod(){}0D•oprivatevoidaMethod():
A.
27•下而说法中错误的是
静态代码块只在类加载的时候执行一次,以后再创建对象的时候不执行
28•在Java中,如果父类中的某些方法不包含任何逻緝,并且需要有子类重写,应该使用
)关键字来声明父类的这些方法。
B•static
C,8ab$tract
D,dVoid
29•给世两个java程序,如下:
publicinterfaceFace{
intcounter=40;
pubIicclassTestimp1ementsFace{
pub1icstaticvoidmain(String[]args){
System.out.printIn(++counter);
Test.java的编译运行结果是()。
A.40o
41
D,
31.给泄java程序,如下:
publicclassTest{
privat€staticfinal
intcounter=l0;//常量不能被改变默认
大写COUNTER
编译运行Test.java,结果是
A.olO
B.
C,.编译错误
D,运行时出现异常
32•下而关于变量及其范圉的陈述哪些是对的?
(
A-
实例变量(区别于类变量.属于对象的变量)是类的成员变量・
B.实例变量用关键字static声明。
C,在方法中定义的局部变量在该方法被执行时创建
D.局部变量在使用前必须被初始化。
33•给世一个Java程序代码,如下:
pub1icclass
intcount=
pub1icvoid
intcoun
Test{
9;
countI(){t=10;
dSystem,out.println("countl="+count);//10
publicVOidcount2(){
0System・out,printin("count2="+count):
//9
publicstat1C
Testt=new
t.countl{);
t.count2
V0idmain(Stringargs[]){Test{);
();
编译运行后,输出结果是
A.dC0Untl=9count2=9
Bcountl=10c0unt2=9
C•countl=l0count2=10
D•dcount1=9count2=l0
34•关于构造方法和Set方法,关于这两个方法描述错误的是{
A.。
构造方法是用来为对象的成员变量进行初始化赋值的
.C.。
带参构造在创建对彖的时候也可以为成员变量賦值
D•,类中的带参构逍方法与Set方法功能是完全重复的,可以只选X—。
//构造方
法只能在创建对象的时候为成员变量賦值:
set方法功能是在对象创建之后对成员变
量的值进行修改。
set方法在对象的整个生命周期都可以对成员变量的值进行修改,柑
对灵活。
35•程序Test.java编译运行后输出的结果是(
publicclassTest{
Strings1=*'java'';
pubIiCstaticvoidmain(Stringargs[])(
intz=2:
Testt=neWTest();
System,out.println(t.sl+z);
B.2
C.没有输出结果
D.java
E.
36.下而关于外部类和内部类成员的相互访问的规则中,正确的选项是(
A・
B.
37•用于企义类成员的访问控制权的一组关键字是(
c1ass/fIoat,double,public
float,boolean,int,long
D.
public,priVate,protected
38•给世java代码,如下:
编译运行,结果是
pubIicstaticvoidmain(String[]args){
//s没有赋值•所以编译出错・
Strings;
System.out.printlnC's="+s);
B•'编译通过,但出现运行时错误
C.正常运行,输出s=null
D.正常运行,输出s=
39.关于类和对象的叙述正确的是:
(
A.Java的类分为两大部分:
系统定义的类和用户自定义的类
B-类的静态成员变量(类变量)和普通成员变量(实例变量)的概念完全一样,只是表
达形式不同d//Static
C•崔义一个类时,该类的成员至少要有一个成员变量和一个成员方法。
//可以空类
D・类是对象的实例化。
40•构造函数何时被调用?
A.创建对彖时
B.类定义时
C.使用对象的方法时
D出现SUPer()时
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 面向 对象 知识 测试 答案