抽象方法必须在抽象类中.docx
- 文档编号:28413351
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:34
- 大小:26.80KB
抽象方法必须在抽象类中.docx
《抽象方法必须在抽象类中.docx》由会员分享,可在线阅读,更多相关《抽象方法必须在抽象类中.docx(34页珍藏版)》请在冰豆网上搜索。
抽象方法必须在抽象类中
一、判断题
1、抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。
2、Final类中的属性和方法都必须被final修饰符修饰。
3、最终类不能派生子类,最终方法不能被覆盖。
4、子类要调用父类的方法,必须使用super关键字。
5、一个Java类可以有多个父类。
6、如果p是父类Parent的对象,而c是子类Child的对象,则语句c=p是正确的。
7、一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。
8、接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。
9、子类的域和方法的数目一定大于等于父类的域和方法的数目。
10、所谓静态初始化器就是在构造函数之前加上static修饰符
11、在java中,一个类可同时定义许多同名的方法,这些方法,这些方法的形式参数的个数、类型或顺序各不相同,这种面向对象程序特性称为隐藏。
12、一个类只能有一个父类,但一个接口可以有一个以上的父接口
13、抽象类没有具体对象,所以抽象类没有构造函数
14、接口是特殊的类,所以接口也可以继承,予接口将继承父借口的所有常量和抽象方法
15、Java语言不支持类的多重继承
16、一个类就相当于一种数据类型。
17、类的定义是可以嵌套的
18、方法重载要求方法名相同,参数列表也相同。
19、方法覆盖要求子类的方法与被覆盖的方法的方法头完全一致,范围一致或变小。
()
多选题(每题两个正确答案)
1.在Java中,下列哪两句是正确的:
()cd
A.子类的构造方法与父类的构造方法同名
B.子类可以继承父类的所有方法
C.子类不一定能继承父类的所有方法
D.子类可以继承父类protected和public的方法
E.子类可以继承父类protected和private的方法
2.MyPoint方法,返回Point类型,其定义正确的是:
()ac
A.publicPointMyPoint(intx){…}
B.publicintMyPoint(intx){…}
C.staticPointMyPoint(intx,inty){…}
D.staticintMyPoint(Pointp){…}
3.若有以下接口的定义:
publicinterfaceIAextendsIB,IC,ID{…};则:
()bd
A.这个接口的声明是错误的
B.接口IA继承了接口IB,IC和ID
C.接口IA实现了接口IB,IC和ID
D.关键字extends指明接口的继承关系
4.下面哪几个函数是publicvoidexample(){...}的重载函数?
()ad
Apublicvoidexample(intm){...}
Bpublicintexample(){...}
Cpublicvoidexample2(){...}
Dpublicintexample(intm,floatf){...}
5.已知如下定义:
Strings="story";下面哪个表达式是合法的()ad
As+="books";Bcharc=s[1];
Cintlen=s.length;DStringt=s.toLowerCase();
6.定义主类的类头时可以使用到的关键字是()ab
A.abstractB.finalC.privateD.super
(一)单选题(共12题,每题2分,共24分)。
1.程序设计语言的三种基本控制结构是:
(B)
A.输入、处理、输出B.顺序、选择、循环
C.树形、网形、环形D.主程序、子程序、函数
2.在Java中,下列哪句话是正确的:
(A)
A.几个类可以写在一个文件里B.一个类可以写在几个文件里
C.类的名称是不区分大、小写的D.方法的名称是不区分大、小写的
3.一个必须被继承的类要用哪个关键字来描述:
(D)
A.staticB.protectedC.finalD.abstract
4.下面程序的输出结果是:
(D)
classDemoClass{
publicstaticvoidmain(Stringargs[]){
inti=1,s=5;
do{
s+=i;
i++;
}while(i<5);
System.out.println(“s=”+s);}}
A.s=0B.s=5C.s=10D.s=15
5.下列方法method的定义正确的是(A)
A.privateintmethod(){charch=’a’;return(int)ch;}
B.publicvoidmethod{inta=8;returna;}
C.intmethod(inti){return(double)(i+10);}
D.method(inta){returna;}
6.哪一组都是Java关键字:
(C)
A.Student,float,main,publicB.byte,boolean,box,float
C.long,extends,float,doubleD.classes,float,short,import
7.下面哪种说法是正确的:
(C)
A.String是用来处理字符串的类,而StringBuffer不是
B.StringBuffer是用来处理字符串的类,而String不是
C.String和StringBuffer都是用来处理字符串的类
D.String和StringBuffer都不是用来处理字符串的类
8.intx=1,a=0,b=0;
switch(x){
case0:
b++;
break;
case1:
a++;
break;
case2:
a++;b++;
break;
}
System.out.println("a="+a+",b="+b);
该程序的输出结果是(A)
A.a=1,b=0B.a=1,b=1C.a=1,b=2D.a=2,b=2
9.下面哪个赋值语句是不合法的?
(A)
A、floata=2.0B、doubleb=2.0
C、intc=2D、longd=2
10.下面四组变量命名,符合JAVA变量命名规则的是(D)
A.a@bcB.6xC.voidD.ye_78
11.定义类A及类中的方法getVar(),定义类A的子类B,若要在类B中覆盖类A的同名方法,下面正确的定义是
(C)
classA
{
privatefloatx=1.0f;
protectedfloatgetVar()
{returnx;}
}
classBextendsA
{
privatefloatx=2.0f;
//覆盖类A中的同名方法的代码放在此处}
A.floatgetVar(){returnx;}
B.protectedfloatgetVar(floaty){returnx_y;}
C.protectedfloatgetVar(){returnx;}
D.publicfloatgetVar(){returnx;}
12.根据下面给出的代码,判断哪个叙述是正确的。
(B)
publicclassPerson{
staticintarr[]=newint[10];
publicstaticvoidmain(Stringa[]){
System.out.println(arr[12]);
}
}
A.编译时将发生错误
B.编译时正确但是运行时出错
C.输出为0
D.输出为null
二、选择题
1、关于被私有保护访问控制符privateprotected修饰的成员变量,以下说法正确的是()
A.可以被三种类所引用:
该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:
该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问
2、关于被私有访问控制符private修饰的成员变量,以下说法正确的是()
A.可以被三种类所引用:
该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:
该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问
3、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是()
A.可以被三种类所引用:
该类自身、与它在同一个包中的其他类、在其他包中的该类的子类
B.可以被两种类访问和引用:
该类本身、该类的所有子类
C.只能被该类自身所访问和修改
D.只能被同一个包中的类访问
4、下列关于修饰符混用的说法,错误的是()
A.abstract不能与final并列修饰同一个类
B.abstract类中不可以有private的成员
C.abstract方法必须在abstract类中
D.staic方法中能处理非static的属性
5、容器Panel和Applet缺省使用的布局编辑策略是()
A、BorderLayoutB、FlowLayoutC、GridLayoutD、CardLayout
6、以下标识符中哪项是不合法的()
A、BigMeaninglessNameB、$int
C、1stD、$1
7、main方法是JavaApplication程序执行的入口点,关于main方法的方法头以下哪项是合法的()
A、publicstaticvoidmain()B、publicstaticvoidmain(String[]args)
C、publicstaticintmain(String[]arg)D、publicvoidmain(Stringarg[])
8、执行完以下代码int[]x=newint[25];后,以下哪项说明是正确的()
A、x[24]为0B、x[24]未定义C、x[25]为0D、x[0]为空
9、以下代码段执行后的输出结果为()
intx=3;inty=10;
System.out.println(y%x);
A、0B、1C、2D、3
10、以下哪个表达式是不合法的()
A、Stringx=”Hello”;inty=9;x+=y;
B、Stringx=”Hello”;inty=9;if(x==y){}
C、Stringx=”Hello”;inty=9;x=x+y;
D、Stringx=null;inty=(x!
=null)&&(x.length()>0)?
x.length:
0
11、编译运行以下程序后,关于输出结果的说明正确的是()
publicclassConditional{
publicstaticvoidmain(Stringargs[]){
intx=4;
System.out.println(“valueis“+((x>4)?
99.9:
9));
}
}
A、输出结果为:
valueis99.99B、输出结果为:
valueis9
C、输出结果为:
valueis9.0D、编译错误
12、以下声明合法的是()
A、defaultStrings;B、publicfinalstaticnativeintw()
C、abstractdoubled;D、abstractfinaldoublehyperbolicCosine()
13、关于以下application的说明,正确的是()
1.classStaticStuff
2.{
3.staticintx=10;
4.static{x+=5;}
5.publicstaticvoidmain(Stringargs[])
6.{
7.System.out.println(“x=”+x);
8.}
9.static{x/=3;}
10.}
A、4行与9行不能通过编译,因为缺少方法名和返回类型
B、9行不能通过编译,因为只能有一个静态初始化器
C、编译通过,执行结果为:
x=5
D、编译通过,执行结果为:
x=3
14、关于以下程序代码的说明正确的是()
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.}
A、5行不能通过编译,因为引用了私有静态变量
B、10行不能通过编译,因为x是私有静态变量
C、程序通过编译,输出结果为:
x=103
D、程序通过编译,输出结果为:
x=102
15、以下选项中循环结构合法的是()
A、while(inti<7)
{i++;
System.out.println(“iis“+i);
}
B、intj=3;
while(j)
{System.out.println(“jis“+j);
}
C、intj=0;
for(intk=0;j+k!
=10;j++,k++)
{System.out.println(“jis“+j+“kis”+k);
}
D、intj=0;
do{
System.out.println(“jis“+j++);
if(j==3){continueloop;}
}while(j<10);
16、类Test1定义如下:
1.publicclassTest1{
2.publicfloataMethod(floata,floatb){}
3.
4.}
将以下哪种方法插入行3是不合法的。
()
A、publicfloataMethod(floata,floatb,floatc){}
B、publicfloataMethod(floatc,floatd){}
C、publicintaMethod(inta,intb){}
D、privatefloataMethod(inta,intb,intc){}
17、类Test1、Test2定义如下:
1.publicclassTest1
2.{publicfloataMethod(floata,floatb)throws
3.IOException{}
4.}
5.publicclassTest2extendsTest1{
6.
7.}
将以下哪种方法插入行4是不合法的。
()
A、floataMethod(floata,floatb){}
B、publicintaMethod(inta,intb)throwsException{}
C、publicfloataMethod(floatp,floatq){}
D、publicintaMethod(inta,intb)throwsIOException{}
18、关于以下程序段,正确的说法是()
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”);
A、行4与行6都将执行B、行4执行,行6不执行
C、行6执行,行4不执行C、行4、行6都不执行
19、以下说法哪项是正确的()
1.classMyListener
2.extendsMouseAdapterimplementsMouseListener{
3.publicvoidmouseEntered(MouseEventmev)
4.{System.out.println("Mouseentered.");}
5.}
A、以上代码可通过编译
B、不能通过编译,因为没有实现MouseListener接口中的所有方法
C、不能通过编译,因为类头定义不能分行
D、能通过编译,若组件用该类作为Mouse的监听者并且接收了mouse-exited事件,则在执行过程中会抛出异常
20、关于以下程序段的说法,正确的是()
1.classMyListenerimplements
2.ActionListener,ItemListener{
3.publicvoidactionPerformed(ActionEventae){
4.System.out.println("Action");}
5.publicvoiditemStateChanged(ItemEventie){
6.System.out.println("Item");
7.}
8.}
A、可通过编译
B、第2行产生编译错误
C、第3行产生编译错误
D、第5行产生编译错误
21、通过调用newList(10,false)创建一个列表,关于该列表的几个说法哪项是错误的。
()
A、该列表不支持复选B、该列表有10个选项
C、根据需要该列表可能有垂直滚动条D、该列表支持10个可见选项
22、以下哪项可能包含菜单条()
A、PanelB、FrameC、AppletD、Dialog
23、以下代码完成画线功能,指出所画线的颜色()
1.g.setColor(Color.red.green.yello.cyan);
2.g.drawLine(0,0,100,100);
A、redB、greenC、yelloD、cyan
24、关于以下代码所画图形的说明,正确的是()
1.g.setColor(Color.black);
2.g.drawLine(10,10,10,50);
3.g.setColor(Color.red);
4.g.drawRect(100,100,150,150);
A、一条40像素长的垂直红线,一个边长为150像素的红色四方形
B、一条40像素长的垂直黑线,一个边长为150像素的红色四方形
C、一条50像素长的垂直黑线,一个边长为150像素的红色四方形
D、一条50像素长的垂直红线,一个边长为150像素的红色四方形
三、改错题
判断下面的程序片断是否正确。
若有错,指出错在哪里并改正;若正确,打“√”。
1、classMyClass
{intvar=100;
staticintgetVar()
{
returnvar;
}
}
2、publicclassMyClass
{
intdata;
voidMyClass(intd)
{data=d;}
}
3、publicclassMyMain
{
publicstaticvoidmain(Stringargs[])
{System.out.println(MyClass1.data);}
}
classMyClass1
{
intdata=10;
}
4、classIamAbstract
{
finalintf;
doubled;
abstractvoidmethod();
}
5、classparent
{
privateintmine;
}
classchildextendsparent
{
intgetMine()
{returnmine;}
}
6、classparent
{
privateintmine;
intgetMine()
{
returnmine;
}
}
classchildextendsparent
{
intmine;
intgetMine()
{returnsuper.getMine;}
}
7、classAmIWrong
{
intdata1,data2;
AmIWrong()
{data1=-1;}
AmIWrong(intd)
{data2=d;
this();
}
}
8、interfaceMyInterface
{
voidmethod1();
}
abstractclassParentimplementsMyInterface
{
}
classChildextendsParent
{
voidmethod1()
{
System.out.println(“Iamimplementednow!
”);
}
}
9、publicstaticvoidmain(Stringargs[])
{
try{
charch=(char)System.in.read();
...//其他语句
}
catch(Exceptione)
{
return;
}
catch(IOExceptione)
{
System.out.println(e.toString());
}
}
10、publicc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 抽象 方法 必须