面向对象程序设计.docx
- 文档编号:10264334
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:17
- 大小:22.01KB
面向对象程序设计.docx
《面向对象程序设计.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计.docx(17页珍藏版)》请在冰豆网上搜索。
面向对象程序设计
面向对象程序设计
《面向对象程序设计》综合复习资料
一、判断题(正确打√,错误打×)
1、类及其属性、方法不能同时有一个以上的修饰符来修饰。
2、对象可以赋值,赋值的结果是2个对象实际上是同一个对象。
3、在异常处理中,1个try只能对应1个catch语句。
4、Java中,创建对象用new,但无需释放无用的对象。
5、Java的屏幕坐标以像素为单位,容器的右下角被确定为坐标的起点。
6、在定义数组变量时不能直接进行内存分配,必须使用new来生成数组。
7、成员变量,可通过类名直接访问,也可通过该类的对象访问。
8、类定义时可以不定义构造函数。
9、Java和C一样都是编译型语言。
10、一个Java类可以实现多个接口。
11、一个抽象类不能直接用new命令创建对象。
12、Java源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。
13、如果一个类中包含抽象方法,则这个类也必须定义为抽象类。
14、一个类中可以定义多个构造方法。
15、final类不能派生子类,final方法不能被子类改写。
16、一个Java源文件中允许有多个public类。
17、使用方法length()可以获得字符串或数组的长度。
18、容器是用来组织其他界面成分和元素的单元,它不能嵌套其他容器。
19、JavaApplet是由独立的解释器程序来运行的。
二、选择题
1、下面表达式中,用来访问数组中第一个值的是()。
A、intArray[0]B、intArray.1C、intArray[1]D、intArray.0
2、阅读以下代码,回答下面问题:
for(intx=10;x>0;x--){System.out.println(i);}
在这段代码中,每一次循环时,首先执行()语句。
A、intx=10B、x>0C、x--D、System.out.println(i)
3、用来区别每一个switch分支的保留字是()。
A、choiceB、conditionC、caseD、break
4、下面数据类型中()占用的空间最大。
A、floatB、intC、byteD、double
5、如果定义一个名为apple的类,那么存储这个类的源文件名是()。
A、apple.javaB、apple.byteC、apple.classD、apple
6、在Java语言中,单选框类名是()。
A、LabelB、CheckboxC、ButtonD、CheckButton
面向对象程序设计
7、假设有一个列表框listbox1,要在其最后添加一项,应使用()语句。
A、listbox.add(Theenditem,0)B、listbox.add(Theenditem,10)
C、listbox.add(Theenditem,-1)D、listbox.add(Theenditem,1)
8、在程序中(),就能够防止因为在一行中输入过多的文本,而使文本区ta变宽。
A、不需要做任何考虑B、ta.noWrap()
C、ta.setLineWrap(false)D、ta.setLineWrap(true)
9、使用()位置参数,能够使一个部件位于容器的右边。
A、BorderLayout.EASTB、BorderLayout.WEST
C、BorderLayout.NORTHD、BorderLayout.RIGHT
10、如果想让某方法不能被任何外部类访问,应使用访问说明符()定义。
A、publicB、privateC、defaultD、protected
11、边框布局管理器将一个“容器”分成了()个位置。
A、9个B、3个C、5个D、4个
12、()是网格布局管理器。
A、BorderLayoutB、FlowLayoutC、ReseauLayoutD、GridLayout
13、()为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。
A、staticvoidmethod()B、publicvoidmethod()
C、finalvoidmethod()D、abstractvoidmethod()
14、当一个部件有一个事件发生,但并没有为这个部件的这个事件指定事件监测器,将会发生()。
A、编译时就不会通过B、忽略这个事件
C、引起Java程序发生致命错误D、引发默认的事件处理
15、下面()是Java语言中的关键字。
A、sizeofB、NULLC、abstractD、Native
16、在Java语言中,()包是编译器自动导入的。
A、java.appletB、java.awtC、java.ioD、java.lang
17、以下关于继承的叙述正确的是()。
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
给出下面代码:
、18.
面向对象程序设计
publicclassPerson{
staticintarr[]=newint[10];publicstaticvoidmain(Stringa[])
{System.out.println(arr[1]);}
}
正确的语句是()。
A、编译时将产生错误B、输出0
C、编译时正确,运行时将产生错误D、输出空
19、给出下面代码段:
1)publicclassTest{
2)intm,n;
3)publicTest(){}
4)publicTest(inta){m=a;}
5)publicstaticvoidmain(Stringarg[]){
6)Testt1,t2;
7)intj,k;
8)j=0;k=0;
9)t1=newTest();
10)t2=newTest(j,k);
11)}
12)}
()将引起一个编译时错误。
A、line5B、line4C、line10D、line6
20、对于下列代码:
1)classPerson{
2)publicvoidprintValue(inti,intj){//...}
3)publicvoidprintValue(inti){//...}
4)}
5)publicclassTeacherextendsPerson{
6)publicvoidprintValue(){//...}
7)publicvoidprintValue(inti){//...}
8)publicstaticvoidmain(Stringargs[]){
9)Persont=newTeacher();
10)t.printValue(10);
11)}
12)}
第10行语句将调用()语句。
A、line2B、line7C、line6D、line3
21、结构化程序设计的一种基本方法是()。
A、筛选法B、递归法C、归纳法D、逐步求精法
22、下列()表达的类声明是正确的。
}
……abstractprivatemove(){、B}……abstractfinalclassHI{、A.
面向对象程序设计
C、protectedprivatenumber;D、publicabstractclassCar{……}
publicclassTest2006、23
}publicstaticvoidmain(Stringargs[]){System.out.println(~(0xa5)&0xaa);
}
。
其运行结果是()0xaaC、0x50D、A、0xa5B、10
异常包含()。
24、
A、程序中的语法错误B、程序的编译错误C、程序执行过程中遇到的事先没有预料到的情况、程序事先定义好的可能出现的意外情况D
)布局管理器。
25、如果希望所有的控件在界面上均匀排列,应使用下列(FlowLayoutD、C、BorderLayoutA、BoxLayoutB、GridLayout
。
)、26Java语言使用的字符码集是(
Unicode、DA、ASCIIB、BCDC、DCB
、阅读下列代码27publicclassTest{
}System.out.println(89>>1);publicstaticvoidmain(Stringargs[]){
}
)。
其运行结果是(
90、C、88D45A、44B、
用来导入已定义好的类或包的语句是()。
28、classD、C、publicclass、A、mainBimport
。
)下列属于合法的29、Java标识符是(
salerD、+rriwo、ABCB、&5678C、A
下列代表16进制整数的是()。
、30
0xa2
、DC、0123A、B1900、fa00
三、填空题
1、在面向对象方法学中,直接反映了用户对目标系统的要求的模型是。
2、下面程序对数组中每个元素赋值,然后按逆序输出。
请在横线处填入适当内容,使程序能正常运行。
publicclassArrayTest{
publicstaticvoidmain(Stringargs[]){
inta[]=newint[5];
inti;
面向对象程序设计
for(i=0;i<5;i++)a[i]=i;
for(;i>=0;i--)
System.out.println(a[+i+]=a[i]);
}
}
3、任何一个Java程序都默认引入了一个包,这个包的名字叫java.。
4、Java语言中,移位运算符包括:
>>、<<和。
5、能将显示空间分成很多层的布局管理器是。
6、构件不能独立地显示出来,必须将构件放在一定的中才能显示。
7、Java语言中,有一个类是所有类或接口的父类,这个类的名称是。
8、在1个Java源文件中定义了3个类和15个方法,编译它时会产生个字节码文件,其扩展名是。
9、Applet生命周期方法有init()、、stop()和destroy()。
四、简答题
1、简述关键字this与super的区别。
2、简述多态性中重载(overload)与覆盖(override)的区别。
3、简述if/else与switch/case语句的区别。
4、Overload和Override有什么区别?
5、abstractclass和interface有什么区别?
五、编程题
1.利用数组求出Hello、Java、Program这3个字符串的平均长度。
2.编写一个字符界面的程序,计算1+1/2!
+1/3!
+1/4!
+…的前30项的和,并输出所求的和。
3.编写一个字符界面的程序,通过键盘输入1个年份,判断该年是否为闰年。
4.编写一个字符界面的程序,构造一个类来描述屏幕上的一个点,该类的构成包括点的x和y两个坐标,以及一些对点进行的操作,包括:
publicPointgetPoint():
取得点的坐标值;
publicvoidsetPoint(Pointpoint):
对点的坐标进行赋值。
请设计一个字符界面的程序,用来找出1~1000以内的完全数。
5.所谓完全数指的是其所有因子和(包括1而不包括其自身)等于自身的整数。
如:
28=1+2+4+7+14,1、2、4、7、14都是28的因子,所以28是一个完全数。
6.已知一组数字:
21,25,11,32,12,35,55,77,66,要求按以下规则进行排序:
第1个数最大,第2个数最小,第3个数字是剩下中的最大的,第4个数字是剩下的最小的,依次类推。
.
面向对象程序设计
请设计一个字符界面的程序对此组数字进行排序。
7.计算1/1+1/2+1/3+……+1/100的值。
8.定义一个计算n!
的类Fact,然后在主类中创建一个对象求解12!
的值。
《面向对象程序设计》综合复习资料参考答案
一、判断题(正确打√,错误打×)
1、×2、√3、×4、√5、×
10、√6、√、×79、×、√8
51、√4、√3、√2、√、√
6、×、×7、×9、×8二、选择题
1、A2、B3、C4、D5、A
108、D、B6、B97、C、A
15、13C、AC12、D14、B11、2016、、18B、17A、、D19CD
25、、D、BD21、23、CB24223027、A
、2928、B
、D
、26D
D
三、填空题
1、功能模型
2、i=a.Length-1或i=4
3、lang
4、>>>
5、CardLayout
6、容器
7、Object
8、3,.class
9、start
四、简答题
1、参考答案
this代表了当前对象的一个引用,super表示的是当前对象的直接父类对象的引用。
2、参考答案
重载是类对自身中同名方法的重新定义的机制,覆盖是子类对父类中同名方法的重新定义的机制;重载一般采用不同的形参列表、返回值来区别同名方法,覆盖必须与父类有完全相同的形参列表、返回值。
3、参考答案
if/else语句只能实现双分支,switch语句可实现多分支;if/else中的表达式是条件表达式,switch中的表达式是整数或字符型表达式,且应与case分支的判断值的类型相一致。
4、参考答案
方法的重写Overriding和重载Overloading是Java多态性的不同表现。
重写Overriding是父类与子类之间多态性的一种表现,重载Overloading是一个类中多态性的一种表现。
如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写(Overriding)。
子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。
如果在一.
面向对象程序设计个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的。
重载(Overloading)、参考答案5它用于要创建一个体现某些基本行为声明方法的存在而不去实现它的类称为abstractclass,的实例,但可以创建的类,并为该类声明方法,但不能在该类中实现。
不能创建abstractclass的子类abstractclass一个变量,其类型是一个abstractclass,并让它指向具体子类的一个实例。
为它们父类中的所有抽象方法提供实现,否则它们也是抽象类。
staticinterface只可以定义abstractclass的变体,多继承性可通过interface获得。
interface是除了该实现类的实现与子类相似,final成员变量,interface中的所有方法都是抽象的。
interface不能从interface定义中继承行为。
。
五、编程题.参考答案:
1publicclassAverage{
publicstaticvoidmain(Stringargs[]){
Stringarray[]=newString[3];
array[0]=Hello;
array[1]=Java;
array[2]=Program;
inttotal=array[0].length();
total+=array[1].length();
total+=array[2].length();
+total/3);
平均字符串长度为:
祓瑳浥漮瑵瀮楲瑮湬尨}
}
2.参考答案:
publicclassSum{
publicstaticvoidmain(Stringargs[]){
doublesum=0;
inti=1,t=1;
}for(i=1;i<=20;i++){sum+=1.0/t;t*=i;
}
System.out.println(Sum=+sum);
}
.参考答案:
3importjava.io.*;
publicclassLeapYear{
publicstaticvoidmain(Stringargs[])throwsIOException{
InputStreamReaderir=newInputStreamReader(System.in);
BufferdeReadwein=newBufferedReader(ir);
Strings=in.readLine();
intyear=Integer.parseInt(s);
if(year%400==0)或者if(year%4==0&&year%100!
==0)//
);祓瑳浥漮瑵瀮楲瑮湬礨慥?
?
年是闰年
else
}
);年不是闰年祓瑳浥漮瑵瀮楲瑮湬礨慥?
?
面向对象程序设计}
.参考答案:
4publicclassPoint{
intx,y;
}this.y=y;publicPoint(intx,inty){this.x=x;
}publicPointgetPoint(){PointtempPoint=newPoint(x,y);returntempPoint;
publicvoidsetPoint(Pointpoint){this.x=point.x;this.y=point.y;}
}
5.参考答案:
publicclassPerfect{
publicstaticvoidmain(Stringargs[]){
for(inti=1;i<1000;i++){
inty=0;
for(intj=1;j
y+=j;
if(i%j==0)
System.out.print(i+));
if(y==i)
}
}
}
.参考答案:
6publicclassSort{
publicstaticvoidmain(String[]args){
a[]={21,25,11,32,12,35,55,77,66};
intt=0,
intn=a.length;
for(inti=1;i for(intj=i+1;j }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计