面向对象的Java语言练习Word文件下载.docx
- 文档编号:887689
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:11
- 大小:41.06KB
面向对象的Java语言练习Word文件下载.docx
《面向对象的Java语言练习Word文件下载.docx》由会员分享,可在线阅读,更多相关《面向对象的Java语言练习Word文件下载.docx(11页珍藏版)》请在冰点文库上搜索。
A.人和老虎B.书和汽车C.楼和建筑物D.汽车和交通工具
7.什么是方法,以及方法的作用?
8.举例说明方法的调用?
9.简述方法的递归调用过程?
10.什么是方法的重载?
重载<
overload)是指同一个类中方法名相同,参数类型不同或参数个数不同的现象
11.什么是异常?
试列出三个系统定义的运行时异常类。
12.try-catch-finally语句的执行顺序是怎样的?
先执行try语句块中的语句,若发生异常则跳入catch语句捕获异常,最后执行finally语句,其中,finally表示总是执行,若在try语句块或catch语句块中存在return语句,则finally语句进啊在return语句执行前先运行p1EanqFDPw
13.
Java程序可以分为Application和Applet两大类,能在WWW浏览器上运行的是__Applet_______。
DXDiTa9E3d
14.
如果子类中的某个方法的名字、返回值类型和参数列表与它的父类中的某个方法完全一样,则称子类中的这个方法__________了父类的同名方法。
RTCrpUDGiT
15.
定义类头时能使用的修饰符是(C>
。
A>
privateB>
staticC>
abstractD>
protected5PCzVD7HxA
16.
下列方法定义中,正确的是(A>
intx(>
{charch='
a'
return(int>
ch。
}
B>
voidx(>
{...returntrue。
}
C>
D>
intx(inta,b>
{returna+b。
}jLBHrnAILg
2.3构造方法
1.构造方法在类中的作用是什么?
2.在创建派生类的对象的时候,基类与派生类中构造方法的调用顺序怎样?
若在子类构造方法中未显示的调用父类的构造方法,则JVM将默认隐式的调用系统的无参构造方法,否则JVM先调用显示调用发父类构造方法,因为super语句必须为构造方法中第一条语句xHAQX74J0X
3.以下哪个方法仅在Applet程序被创建和首次被载入支持Java的浏览器时被调用
paint(>
B>
init(>
C>
action(>
D>
start(>
LDAYtRyKfE
4.在某个类A中存在一个方法:
voidGetSort(intx>
以下能作为这个方法的重载的声明的是BZzz6ZB2Ltk
VoidGetSort(floatx>
intGetSort(inty>
doubleGetSort(intx,inty>
voidGet(intx,inty>
dvzfvkwMI1
5.有一个类A,以下为其构造函数的声明,其中正确的是(B>
voidA(intx>
{...}B>
A(intx>
{...}
a(intx>
{...}D>
voida(intx>
{...}rqyn14ZNXI
6阅读程序,根据程序功能,在指定的空白处填上适当的语句或语法成分,使程序完整。
1>
.下面是一个类的定义。
class_____Myclass_______//定义名为myclass的类
{
___static_______intvar=666。
staticintgetvar(>
returnvar。
}
}
2>
.下面是用户程序对Applet类中方法paint(>
的重新定义。
_pubilc_________voidpaint(Graphicsg>
{g.drawString______("
你好!
"
10,20>
3>
.下面是用户程序对Applet类中方法action(>
的重新定义,功能为从单行文本编辑区input中输入数据赋给k。
TextField类的对象input和int型变量k已在类体中正确说明。
public___________action(Evente,Objecto>
{if(e.target==input>
k=Integer.parseInt(_______.getText(>
>
repaint(>
returntrue。
}EmxvxOtOco
7.
请指出下面程序中的错误。
publicclassTestextendsBase
publicTest(>
{
super(>
publicstaticvoidmain(String[]args>
Testt=newTest(>
Testt2=newTest("
TestName"
>
//错误,未在子类中定义此构造方法SixE2yXPq5
classBase
Stringname。
Base(>
System.out.println("
BaseConstructor"
Base(Stringname>
this.name=name。
Testt2=newTest("
//错误,未在子类中定义此构造方法6ewMyirQFL
2.4继承
1.是一种软件重用形式,在这种形式中,新类获得现有类的数据和方法,并可增加新的功能。
2.派生类构造方法可以通过关键字_super__调用基类构造方法。
3.Java语言的类间的继承关系是(B>
多重的B>
单重的C>
线程的D>
不能继承kavU42VRUs
4.编程题
(1>
根据下面的要求实现圆类Circle:
●
Circle类的成员变量:
radius 半径
Circle类的方法成员
Circle(>
构造方法,将半径置为0
Circle(doubler>
构造方法,创建Circle对象时将半径初始化为r
doublegetRadius(>
获得圆的半径值
doublegetPerimeter(>
获得圆的周长
doublegerArea(>
获得圆的面积
voiddisp(>
将圆的半径、周长、面积输出到屏幕
publicclassCircle{
privatedoubleradius。
publicCircle(>
this.radius=0。
publicCircle(doubler>
super(>
this.radius=r。
publicdoublegetRadius(>
returnradius。
publicdoublegetPerimeter(>
return2*Math.PI*this.radius。
publicdoublegetArea(>
returnMath.PI*Math.pow(this.radius,2>
publicvoiddisp(>
半径:
+getRadius(>
+"
\n周长:
+getPerimeter(>
\n面积:
+getArea(>
y6v3ALoS89
(2>
继承上题中的圆Circle类,派生圆柱体类Cylinder,要求如下:
Cylinder类的成员变量:
height表示圆柱体的高
Cylinder类的方法成员:
Cylinder(doubler,doubleh>
构造方法,创建Cylinder对象时将圆半径初始化为r,圆柱高初始化为hM2ub6vSTnP
doublegetHeight(>
获得圆柱体的高
doublegetVol(>
获得圆柱体的体积
voiddispVol(>
将圆柱体的体积输出到屏幕
publicclassCylinderextendsCircle{
privatedoubleheight。
publicCylinder(doubler,doubleh>
super(r>
this.height=h。
publicdoublegetHeight(>
returnthis.height。
publicdoublegetVol(>
returngetArea(>
*this.height。
publicvoiddispVol(>
圆柱体体积:
+getVol(>
5.创建如下图所示继承层次结构中的类。
Employee对象应当有姓名、年龄和社会保险号码,除此之外SalariedEmployee对象还有周薪,HourlyEmployee对象有相应的基本工资和工作小时数,CommissionEmployee对象应当有佣金率和销售总额,BasePlusCommissionEmployee对象应当有对应的基本工资。
每个类有合适的构造方法和访问其成员属性的方法。
请编写一个程序,实例化以上所有类的对象,输出相关员工的基本信息。
0YujCfmUCw
2.5多态
1.实现如图所示的shape层次结构。
每个TwoDimensionalShape类应包含getArea方法,用来计算该图形的面积。
每个ThreeDimensionalShape类应包含getArea和getVolumn方法,分别用来计算该图形的面积和体积。
创建应用程序,该程序使用一个Shape引用数组来保存层次结构中的所有图形的具体类的对象,该程序打印每个数组元素所引用的对象。
此外,利用循环结构处理数组中的图形,以确定每个图形是TwoDimensionalShpae还是ThreeDimensionalShape类的对象,如果图形是TwoDimensionalShpae类的对象,则显示该图形的面积,如果是ThreeDimensionalShape类的对象,则显示该图形的面积和体积。
eUts8ZQVRd
2.请指出下面程序中的错误
classFather
privateintage。
publicvoidsetAge(inta>
this.age=a。
publicintgetAge(>
returnage。
publicvoiddisp(>
ageis"
+age>
classSonextendsFather
publicvoidsetName(Stringname>
name=name。
//应该些微this.name=name。
否则无法真正初始化类的成员变量name
disp(>
//应该用super.disp(>
否则运行时会出现堆栈溢出异常
mynameis"
+name>
publicclassTest
publicstaticvoidmain(Stringargs[]>
Sons=newSon(>
s.disp(>
name=name。
disp(>
3.为了区分重载多态中同名的不同方法,要求(A>
采用不同的形式参数列表B>
返回值类型不同
调用时用类名或对象名做前缀D>
参数名不同
2.6抽象类与接口
1.什么是接口?
为什么要定义接口?
接口与类有何异同?
接口是用interface关键字定义的一个抽象类,接口中所有的成员变量都是publicstaticfinal的,所有方法都是抽象方法,不需要实现只需要有方法名和参数列表和返回值类型sQsAEJkW5T
2.如何定义接口?
使用什么关键字?
<
访问控制符>
interface<
接口名>
3.一个类如何实现接口?
实现接口的类是否一定要重写该接口中的所有抽象方法?
2.7包
1.Java中引入包的优点是什么?
2.如何将需要的外部类引入程序中?
如何引用包中的某个类?
如何引用整个包?
3.如何运行被打包后的字节码文件?
2.8异常处理
1.什么是异常?
举出程序中常见的异常的种类?
2.Java中异常处理有什么优点?
3.在Java中,throw与throws有什么区别?
他们各自用在什么地方?
4.请设计一个Java程序,程序中要进行数组操作和除法操作,要求对所设计的程序可能出现的异常进行处理。
GMsIasNXkA
5.定义一个邮件地址异常类,当用户输入的邮件地址不合法时,抛出异常。
其中邮件地址的合法格式为****@****,也就是说必须是在@符号左右出现一个或多个其他字符的字符串。
)TIrRGchYzg
申明:
所有资料为本人收集整理,仅限个人学习使用,勿做商业用途。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 Java 语言 练习