JAVA期末考.docx
- 文档编号:10339001
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:11
- 大小:18.67KB
JAVA期末考.docx
《JAVA期末考.docx》由会员分享,可在线阅读,更多相关《JAVA期末考.docx(11页珍藏版)》请在冰豆网上搜索。
JAVA期末考
程序阅读题
例4-10方法重载举例
定义一个Area类,类的内部重载getArea()方法,分别实现计算正方形面积、计算长方形面积、计算立方体表面积的功能。
在mian方法中创建Area类的对象,分别提示用户输入相应的数据,调用getArea()方法得到结果,显示在屏幕上。
例4-12重载构造方法的应用
定义立方体Cube类,内部包含四个重载构造方法,能够实现无参、一个参数(正方体)、两个参数(长宽高有两项一样)、三个参数(长宽高各不相同)的情况下均能创建对象并初始化。
在main方法中测试Cube类的使用。
例5-6类的静态成员变量
例7-3Student类覆盖Person类的方法
例7-5子类构造方法中主动通过super调用父类构造方法
例7-7父类和子类对象的转换
例7-8多态的实现
例8-1使用接口实现多态
本例定义立体物体接口Solid,规定具备计算自己的表面积和体积的方法。
Cube立方体类实现了Solid,具体描述了立方体表面积和体积的计算过程;Sphere球体类实现了Solid,具体描述了球体表面积和体积的计算过程。
这两个类可用来创建对象并使用。
例8-2抽象类及抽象方法的使用
定义抽象父类Shape用来描述形状,其中的getArea()方法为抽象方法。
圆形类Circle和矩形类Rectangle继承了Shape类,并各自覆盖了getArea()方法实现了相应功能。
这两个子类是可以用来创建对象进行应用的类。
例8-4薪酬接口实现举例
使用前面的ISalary接口,根据不同岗位的薪酬结构,实现薪酬计算功能。
例8-5补充例8-4,实现类的继承与接口的使用同时进行
定义Employee类,能够描述员工工作岗位、姓名、年龄,包含相关的构造方法和输出信息方法。
让程序员类和销售人员类继承Employee类,同时实现ISalary接口。
例8-6抽象类做方法参数体现多态
例8-7接口做方法参数体现多态
编程题:
(1)试设计一个CBox(长方体)类,该类具有length、width与height三个公有的整型数据成员,还有两个公有方法:
intvolume(intl,intw,inth)方法,用来计算CBox对象的体积;intsurfaceArea(intl,intw,inth)方法,用来计算CBox对象的表面积。
使用该类的对象来计算长方体的体积和表面积。
(2)试设计一个CBall(球)类,该类内具有两个私有成员:
Pi和radius,它们分别代圆周率和球的半径,同时该类还有三个公有方法:
doubleget_surfaceArea()、doubleget_volume()和voidsetRadius(doubler)它们分别用来计算球的表面积、球的体积和给球的半径赋值。
利用该类的对象来计算球的表面积和体积。
(3)按要求编写以下的父类与子类
①编写一父类CPoint(点),其有数据成员x、y分别表示点的横坐标与纵坐标,构造函数CPoint()和CPoint(inta,intb),方法voidsetPoint(inta,intb)、intgetX()、intgetY()和StringtoString()分别用来给点的横坐标与纵坐标赋值、获取点的横坐标、获取点的纵坐标和返回数据成员。
②编写一子类CCircle(圆),它继承于父类CPoint,其有数据成员radius,构造函数CCircle()和CCircle(doubler,inta,intb),方法voidsetRadius(doubler)、doublegetRadius()、doublearea()和StringtoString()分别用来给圆的半径赋值、获取圆的半径、获取圆的面积、和返回数据成员。
③分别将以上两个类实例化并运行,之后试着用父类Point的变量调用子类Circle对象的成员。
选择题
1、不允许作为类的访问控制符的是:
A、publicB、privateC、staticD、protected
2、Java中main()函数的返回值是:
A、StringB、intC、charD、void
3、若int[][]a={{1,2},{3,4,5},{6,7,8}},那么a.length的值为:
A、1B、2C、3D、4
4、下列关于Java对import语句规定的叙述中,错误的是
A、在Java程序中import语句可以有多个
B、在Java程序中import语句可以没有
C、在Java程序中import语句必须有一个
D、在Java程序中import语句必须引入在所有类定义之前
5、下列关于构造函数的叙述中,错误的是
A、Java语言规定构造函数名与类名必须相同
B、Java语言规定构造函数没有返回值,但不用void声明
C、Java语言规定构造函数不可以重载
D、Java语言规定构造函数只能通过new自动调用
6、若需要定义一个类变量或类方法,应使用哪种修饰符?
A、staticB、packageC、privateD、public
7、下列语句中,属于多分支语句的是
A、while语句B、switch语句C、do……while语句D、for语句
8、阅读下列代码
publicclassTest2005
{
publicstaticvoidmain(Stringargs[])
{
System.out.println((3>2)?
4:
5);
}
}
其运行结果是:
A、2B、3C、4D、5
9、阅读下列代码
publicclassTest2005
{
publicstaticvoidmain(Stringargs[])
{
Strings=″Test″;
Switch(s)
{
case″Java″:
System.out.print(″Java″);
break;
case″Language″:
System.out.print(″Language″);
break;
case″Test″:
System.out.print(″Test″);
break;
}
}
}
其运行结果是:
A、JavaB、LanguageC、TestD、编译出错
10、阅读下列代码
publicclasscontinueExample
{
publicstaticvoidmain(Stringargs[])
{
intsum=0,i,j;
for(i=1;i<=10;i++)
{
if(i%3!
=0)
{
continue;
}
else
{
}
sum=sum+i;
}
System.out.println("sum="+sum);
}
}
其运行结果是:
A、sum=3B、sum=6C、sum=9D、sum=18
11、接口A的定义如下,指出下列哪个类实现了该接口
InterfaceA{Intmethod1(inti);Intmethod2(intj);}
A.classBimplementsA{Intmethod1(){}Intmethod2(){}}
B.classBextendsA{Intmethod1(inti){}Intmethod2(intj){}}
C.classB{Intmethod1(inti){}Intmethod2(intj){}}
D.classBimplementsA{Intmethod1(inti){}Intmethod2(intj){}}
12、下列关于类、包和源文件的描述中,不正确的一项是
A.一个包只能含有一个类B.一个文件可以属于一个包
C.一个类可以属于一个包7D.一个包可包含多个文件
13、Java语言类间的继承关系是
A.线程的B.单重的C.多重的D.不能继承
14、为了区分重载多态中同名的不同方法,要求
A.形式参数个数或者类型不同B.返回值类型不同
C.形式参数名称不同D.调用时用类名或对象名做前缀
15、下列关于接口的说法,正确的是
A.接口之间不能有继承关系B.一个类只能实现一个接口
C.实现一个接口必须实现接口中的所有方法D.接口与抽象类是同一个概念
16、为AB类的一个无形式参数无返回值的方法method书写的方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为:
A、staticvoidmethod()B、publicvoidmethod()
C、finalvoidmethod()D、abstractvoidmethod()
17、Java中main()函数的类型是:
A、publicB、privateC、abstractD、protected
18、若int[][]a={{1,2},{3,4,5},{6,7,8}},那么a[2].length的值为:
A、1B、2C、3D、4
19、Java语言的类型是
A、面向对象语言B、面向过程语言C、汇编程序D、形式语言
20、下列对继承的说法,哪个是正确的?
A、子类能继承父类的所有方法和变量B、子类能继承父类的非私有方法和变量
C、子类只能继承父类public方法和变量D、子类只能继承父类的方法,而不继承变量
21、下列对Java源程序结构的叙述中,错误的是
A、import语句必须在所有类定义之前B、接口定义允许0或多个
C、JavaApplication源代码中的publicclass类定义可以是0或多个
D、package语句可以为0或1个
22、Java的核心包中,提供编程应用的基本类的包是
A、Java.langB、Java.utilC、Java.appletD、Java.rmi
23、阅读下列代码
publicclassTest2005
{
publicstaticvoidmain(Stringargs[])
{
Strings=″Test″;
Switch(s)
{
case″Java″:
System.out.print(″Java″);
break;
case″Language″:
System.out.print(″Language″);
break;
case″Test″:
System.out.print(″Test″);
break;
}
}
}
其运行结果是:
A、JavaB、LanguageC、TestD、编译出错
24、阅读下列代码
publicclassTest2011
{
publicstaticvoidmain(Stringargs[])
{
System.out.println((4>5)?
4:
5);
}
}
其运行结果是:
A、2B、3C、4D、5
25、阅读下列代码
publicclasscontinueExample
{
publicstaticvoidmain(Stringargs[])
{
intsum=0,i,j;
for(i=1;i<=10;i++)
{
if(i%3==0)
{
break;
}
else
{
}
sum=sum+i;
}
System.out.println("sum="+sum);
}
}其运行结果是:
A、sum=3B、sum=6C、sum=9D、sum=18
26、下列选项中,______是Java所有类的父类,且Java语言中所有类都是直接或间接继承它得到的。
A.ObjectB.VectorC.ClassD.Random
27、下列选项中,____发生时,将调用构造函数。
A.调用对象方法B.创建对象C.类定义D.使用对象的变量
28、下列关于继承的说法,正确的是
A.子类能继承父类的非私有方法和变量B.子类能继承父类的所有方法和变量C.子类只能继承父类的方法,不能继承父类的变量D.子类只能继承父类的public方法
29、下列选项中的接口声明正确的是
A.interfaceShape{...}B.abstractprivateinterfaceShapeextendsArea{...}
C.privateinterfaceShape{...}D.protectedprivatedinterface;
30、对于类的说法中,不正确的一项是
A.一个类可以有多个子类B.一个文件中最多只能包括一个公共类
C.Java程序中可以有多个类,但是公共类只有一个D.一般类体包括常量、变量和方法
答案:
请输入正方形的边长
2
该正方形的面积是4
------------------------------------------
请输入长方形的长和宽
26
该长方形的面积是12
------------------------------------------
请输入立方体的长、宽、高
561
CDCCCABCDDAACABCADDDABAAD
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 期末