javaSE技能手册(整理完成) 联系客服

发布时间 : 星期一 文章javaSE技能手册(整理完成)更新完毕开始阅读ab3a6f47168884868762d667

21

类型),受雇日期hiredate(String类型);

3) Faculty类中的属性有:学位degree(String类型),级别level(String

类型);

4) Staff类中的属性有:职务称号duty(String类型)。

5) 现有对象Person p1 =new Faculty()和Person p2 =new Staff (),请分别为

p1的属性赋值“本科”和Staff类的duty赋值“职员”

JavaSE中级—第二单元:接口 1:叙述接口的特点和作用

2:选择题

1)下面关于接口的说法中不正确的是()。 A.接口中所有的方法都是抽象的

B.接口中所有的方法都是public访问权限

C.子接口继承父接口所用的关键字是implements D.接口是Java中的特殊类,包含常量和抽象方法 2)Java语言接口间的继承关系是()。

A.单继承 B.多重继承 C.不能继承 D.不一定 3)一个类实现接口的情况是()。

A.一次可以实现多个接口 B.一次只能实现一个接口 C.不能实现接口 D.不一定

3:填空题

1)是声明接口的关键字,可以把它看成一个特殊类。接口中的数据成员默认的修饰符是,接口中的成员方法默认的修饰符是。

2)如果实现某接口的类不是abstract的抽象类,则在类的定义部分必须该接口的所有抽象方法;如果实现某接口的类是abstract的抽象类,则它可以该接口所有的方法。但是对于这个抽象类任何一个非抽象的子类而言,它们父类所实现的接口中的所有抽象方法以及自身所实现接口中的抽象方法都必须有实在的。

4:编一个程序,包含以下文件。

(1)Shape.java文件,在该文件中定义接口类Shape,该接口在shape包中。 属性:PI。

接口:求面积的方法area()。

(2)Circle.java文件,在该文件中定义圆类Circle,该类在circle包中,实现Shape接口类。

属性:圆半径radius。

方法:构造方法;实现求面积方法area();求周长方法perimeter()。

22

(3)Cylinder.java文件,在该文件中定义圆柱体类Cylinder,该类在cylinder包中,

继承圆类。

属性:圆柱体高度height。

方法:构造方法;求表面积方法area();求体积方法volume()。

(4)X5_3_6.java文件,在该文件中定义主类X5_3_6,该类在默认包中,其中包含主方法main(),在主方法中创建两个圆类对象cir1和cir2,具体尺寸自己确定,并显示圆的面积和周长;再创建两个圆柱体类的对象cy1和cy2,具体尺寸自己确定,然后分别显示圆柱体cy1和cy2的底圆的面积和周长以及它们各自的体积和表面积。 【编程分析】本题主要考察接口、包、继承、封装等问题。

5:鸭嘴兽属于脊椎动物中的哺乳动物,太阳花属于植物中的种子植物,而鸭嘴兽和太阳花都属于生物。

完成如下要求(共50分,每小题10分):

1)设计一系列的接口来表示这些规范:生物?动物?脊椎动物?哺乳动物;生物?植物?种子植物,并且按照箭头要求来继承;

2)生物都有呼吸方式,只有一个方法声明:void respirations();设计两个类,分别是鸭嘴兽和太阳花,分别实现生物接口的respirations方法,执行方法可以分别输出:“鸭嘴兽是动物,需要呼吸氧气”,“太阳花是植物,可以吸收二氧化碳,呼出氧气”; 3)动物接口拥有方法声明:void run(),鸭嘴兽类可以实现方法,输出信息:“鸭嘴兽只有两只脚,它可以用两只脚奔跑”

4)植物接口都有繁殖方法声明 void reproduction(),太阳花在实现reproduction方法时输出信息“太阳花可以用种子繁殖,也可以用枝条繁殖”

5) 声明一个Test类作为测试,执行上述声明的所有方法;

6:请使用接口编码实现如下需求:

乐器(Instrument)分为:钢琴(Piano)、小提琴(Violin) 各种乐器的弹奏( play )方法各不相同。 编写一个测试类InstrumentTest,要求:

编写方法testPlay,对各种乐器进行弹奏测试。要依据乐器的不同,进行相应的弹奏。 在main方法中创建不同的乐器对象,通过testPlay的弹奏测试方法进行测试。

7:按要求实现下列问题:

1) 动物类Animal包含了抽象方法 abstract void shout(); 2) Cat类继承了Animal,并实现方法shout,打印“猫会喵喵叫” 3) Dog类继承了Animal,并实现方法shout,打印“狗会汪汪叫”

4) 在测试类中实例化对象Animal a1 =new Cat(),并调用a1的shout方法 5) 在测试类中实例化对象Animal a2 =new Dog(),并调用a2的shout方法

23

JavaSE中级—第三单元:简单工厂模式 1:接口和抽象类的异同点

2:叙述工厂模式的设计理念

3:有一个交通工具接口类Vehicles,有work接口,有Horse类和Boat类分别实现Vehicles,创建交通工具工厂类,有两个方法分别获得交通工具Horse和Boat;有Person类,有name和Vehicles属性,在构造器中赋值,实例化“唐僧”,一般情况下用Horse作为交通工具,遇到大河时用Boat作为交通工具。

4:有一个农场公司,专门向市场销售各类水果,主要包括下列水果:葡萄 Grape,草莓 Stuawberry,苹果 Apple;有一个Fruit接口,包含grow生长,harvest收获和plant方法,葡萄、草莓和苹果都实现了这个接口;有一个农场园丁类FruitGardener,具有采摘水果的方法getFruit(String fruitName);这时有人来果园玩,和园丁说介绍一下你的各种水果(创建一个People类进行测试,分别通过农场园丁类得到各种水果)。

5:有一个显示器接口Graphoscope,具有display方法,有两个类:台式显示器和液晶显示器都实现显示器接口,有一个显示器生产厂家能够生产这两种显示器;有Computer类,具有Graphoscope属性,生产两台电脑,分别配置台式显示器和液晶显示器。

JavaSE中级—第四单元:内部类 1:填空题

1)内部类(可以/不可以)了解外部类 2)静态内部类用修饰。

3)外部类(可以/不可以)通过类名访问静态内部类里的静态成员(变量和方法) 4)外部类(可以/不可以)通过类名访问非静态内部类里的成员(变量和方法) 5)非静态内部类可以访问外部类的成员,也能访问外部类的成员 6)静态内部类可以访问外部类的成员,不能访问外部类的成员

7)非静态内部类(可以/不可以)用static修饰她的成员(变量和方法)

2:纠错体

已知有下面类的说明: PublicclassFirst { Privateinta; Staticintb = 5;

PublicclassContents{ Publicintc;

Staticintd;

Publicvoidf(){

System.out.println(a); System.out.println(b); }

24

}

StaticclassTitles{ Publicinte; Staticintf;

Publicvoidshow(){

System.out.println(a); System.out.println(b); } }

PublicvoidgetInnerClassDate(){ System.out.println(c);// System.out.println(d);// System.out.println(e);// System.out.println(f);// }

Publicstaticvoidmain(String[] args) { } }

1)这个类定义有问题吗?如果有请找出。

2)在main方法中如何获得两个内部类的实例对象?并且访问内部类的方法,请写出代码

3:有一个Car类,有属性temperature(温度),车内有Air(空调),有吹风的功能flow,Air会监视车内的温度,如果温度超过40度则吹冷气。如果温度低于0度则吹暖气,如果在这之间则关掉空调。实例化具有不同温度的Car对象,调用空调的flow方法,测试空调吹的风是否正确

4:编一个类A,在类中定义局部类B,B中有一个常量name,有一个方法show()打印常量name。进行测试

5:设计公司类(Lenovo),有一个接口类Works,里面有接口work(),下面有2个部门(开发部和销售部),使用内部类分别实现开发部和销售部的工作。

6:计算器具有work方法,功能是运算,时钟同样具有work方法,功能是计时,有一个手机类Cellphone,同时需要拥有运算和计时功能,通过内部类实现多继承效果。

7:有一个铃声接口类Bell,有一个接口sound,有一个手机类Cellphone,具有闹钟功能alarmclock,参数是Bell类型,测试手机类的闹钟功能,通过匿名内部类作为参数,打印:懒猪起床了。