实验抽象类和接口Word文档下载推荐.docx

上传人:b****6 文档编号:17762771 上传时间:2022-12-09 格式:DOCX 页数:9 大小:18.70KB
下载 相关 举报
实验抽象类和接口Word文档下载推荐.docx_第1页
第1页 / 共9页
实验抽象类和接口Word文档下载推荐.docx_第2页
第2页 / 共9页
实验抽象类和接口Word文档下载推荐.docx_第3页
第3页 / 共9页
实验抽象类和接口Word文档下载推荐.docx_第4页
第4页 / 共9页
实验抽象类和接口Word文档下载推荐.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

实验抽象类和接口Word文档下载推荐.docx

《实验抽象类和接口Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《实验抽象类和接口Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。

实验抽象类和接口Word文档下载推荐.docx

证性实验)。

2.程序会要求用户以规范的格式输入自己的生日日期,然后将使用Date类和Calendar类中的方法计算出用户的生日是星期几,用户的年龄以及出生的年份是否是闰年。

四、实验的软硬件环境要求

硬件环境要求:

PC计算机;

内存512MB^上

使用的软件名称、版本号以及模块:

操作系统:

WindowsXP或Windows7

软件:

JDK7.0;

Eclipse

五、知识准备

前期要求掌握的知识:

了解Java中的抽象类和接口。

实验相关理论或原理:

1、Java接口和Java抽象类最大的一个区别,就在于Java抽象类可以提供某些方法的部分实现,而Java接口不可以,这大概就是Java抽象类唯一的优点吧,但这个优点非常有用。

如果向一个抽象类里加入一个新的具体方法时,那么它所有的子类都将得到了这个新方法,而Java接口做不到这一点,如果向一个Java接口里加入一个新方法,所有实现这个接口的类就无法成功通过编译了,因为你必须让每一个类都再实现这个方法才行,这显然是Java接口的缺点。

2、一个抽象类的实现只能由这个抽象类的子类给出,也就是说,这个实现处在抽象类所定义出的继承的等级结构中,而由于Java语言的单继承性,所以抽象类作为类型定义工具的效能大打折扣。

六、验证性实验

实验要求

通过编写程序Birthday.java,编辑、运行后输出结果如图10.1所示:

S_LProblems

@Javadoc用Declarartion

SConsole貂

^terminated

Birthday[JavaApplication]C:

\rnyec11pse-&

.5\Genu!

tf

请输入你的生日日期:

InMg丘厢的Eh是;

星期一:

LW齐年:

杲闰年祢现在是:

"

10.1程序运行结果

实验程序代码

//Birthday.java

importjava.util.*;

//Date,Calendar,Scanner

throws

importjava.text.*;

IISimpleDateFormatpublicclassBirthday{

publicstaticvoidmain(Stringargs[])

ParseException{

Stringbirthday,dayOfWeek二"

;

Datedate;

Calendarcalendar;

Scannerscanner=newScanner(System.in);

System.out.println("

请输入你的生日日期:

yyyy-MM-dd"

);

birthday=scanner.next();

//创建一个日期格式对象

SimpleDateFormatdateFormat=newSimpleDateFormat("

//获得一个包含当前日期和时间的Calendar子类的实例calendar=Calendar.getInstance();

intcurrentYear=calendar.get(Calendar.YEAR);

//按输入的birthday产生一个Date对象

date=dateFormat.parse(birthday);

//将date对象的值传递给calendar对象calendar.setTime(date);

intdays=calendar.get(Calendar.DAY_OF_WE);

EK

switch(days){

case1:

dayOfWeek="

星期日"

break;

case2:

星期一"

case3:

星期二"

case4:

星期三"

case5:

星期四"

case6:

dayOfWeek="

星期五”;

break;

case7:

星期六"

}

System.out.println(”你的生日是:

+dayOfWeek);

intbirthYear=calendar.get(Calendar.YEAR

if

(((birthYear%4==0)&

&

(birthYear%100!

=0))||(birthYear%400==0)

System.out.println(birthYear+"

年:

是闰年"

else

不是闰年"

intage=currentYear-birthYear;

System.out.println(”你现在是:

+age+"

岁”);

六、设计性实验

1.实验要求

新建、编译、运行InterfaceTest.java文件,实验结果如图

10.2所示:

:

.Problemst<

J^adccZeclaraHar耳普

\*<

.ProDem?

在Ja\adoc@DeelmrationQLonscIs^S

<

tefrninatfd>

InterfaaT«

t[JavaApclicatio*]C;

\myeclif.

terminated*【nterfaceTert[JavaAppicaticr]Ci'

-.rnyeclip》

確册么晴献麒;

皿誠:

-随声昕舟机

In

唏憩听什么7请输入选择;

0-收音机:

L-随戸听手机

b青机播放厂播

随声听发出育乐

軸收訓音量

竜咒随声听音量

关诩也音机

关囲陡声听

*Problems淞JdwadccDeckration|@Console歸xpterminated*lnterfaceTest[JavaApplication]C:

\myeclip»

悔抿昕什么2请输入选择:

A收音机-随声听4手机岸机岌出来电铃声増大手机音量关闭手机

10.2运行结果图

//InterfaceTest.java

importjava.util.Scanner;

代码1//完善此处代码,定义Soundable接口,包含

increaseVolume()、decreaseVolume()、stopSound()、

playSound()四个方法。

classRadioimplementsSoundable{

publicvoidincreaseVolume(){

System.out.println(”增大收音机音量"

publicvoiddecreaseVolume(){

System.out.println(”减小收音机音量"

publicvoidstopSound(){

System.out.println(”关闭收音机"

publicvoidplaySound(){

System.out.println(”收音机播放广播"

classWalkmanimplementsSoundable{

代码2//完善此处代码

classMobilephoneimplementsSoundable{

System.out.println(”增大手机音量”);

System.out.println(”减小手机音量"

System.out.println(”关闭手机"

System.out.println(”手机发出来电铃声"

classPeople{

privateStringname;

privateintage;

publicvoidlisten(Soundables){

s.playSound();

publicclassInterfaceTest{

publicstaticvoidmain(String[]args){

inti;

Peoplesportsman二newPeople();

Scannerscanner=newScanner(System.in);

Soundable[]soundDevice=newSoundable[3];

//往声音设备数组中放入能发声的设备

soundDevice[0]=

soundDevice[1]=

soundDevice[2]=

soundDevice[2]

newRadio();

newWalkman();

代码3;

〃创建手机对象并赋值给

System.out.println(”你想听什么?

请输入选择:

0-收音机

1-随声听2-手机"

i=scanner.nextInt();

//开始听声音sportsman」isten(soundDevice[i]);

调用stopSound()方法

soundDevice[i].increaseVolume();

soundDevice[i].stopSound();

//

2、实验要求

(1)仔细阅读程序清单,完成代莎「~代码2。

(2)为程序增加一个摩托车类Motorcycle,该类也实现了

Transport接口。

程序参考代码

该程序共有5个文件:

Transport.java,Car.java,Ship.java,Plane.java,Interfacetest.java

//Transport.java

publicinterfaceTransport{

publicvoidtravel();

publicvoidstop();

//Car.java

publicclassCarimplementsTransport{

publicvoidtravel(){

System.out.println(”小汽车在公路上行驶”);

publicvoidstop(){

System.out.println(”小汽车停止行驶"

//Ship.java

publicclassShipimplementsTransport{

System.out.println(”轮船在海上航行"

System.out.println(”轮船停止航行"

//Plane.java

publicclassPlaneimplementsTransport{

System.out.println(”飞机在空中飞行"

System.out.println(”飞机停止飞行"

//IntefaceTest.java

importjava.util.Scanner;

publicvoiddrive(Transports){

s.travel();

publicclassInterfaceTest{

publicstaticvoidmain(String[]args){

Peopledriver=newPeople();

Scannerscanner=newScanner(System.in);

Transport[]transport=newTransport[3];

//往交通工具数组中放入能具体的交通工具

transport[O]=newCar();

transport[1]=newShip();

代码1//创建飞机对象并赋值给Transport[2]

System.out.println(”你想驾驶什么?

0-小汽车1-轮

船2-飞机"

i=scanner.nextInt();

//司机开始驾驶

driver.drive(transport[i]);

代码2//调用stop()方法

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 高考

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1