实验 六 包抽象类接口.docx
- 文档编号:18037941
- 上传时间:2023-08-07
- 格式:DOCX
- 页数:22
- 大小:235.26KB
实验 六 包抽象类接口.docx
《实验 六 包抽象类接口.docx》由会员分享,可在线阅读,更多相关《实验 六 包抽象类接口.docx(22页珍藏版)》请在冰点文库上搜索。
实验六包抽象类接口
实验六包、抽象类、接口
一、实验目的
了解Java中包(package)、抽象类及方法(abstract)、接口(interface)的作用,掌握抽象类、接口的设计方法。
二、实验要求
1.了解Java系统包的结构。
2.掌握创建自定义包的方法。
3.掌握使用抽象类及方法
4.掌握使用系统接口的技术和创建自定义接口的方法。
三、实验内容
1.引入包中的类,编译并比较之
(1)
(2)
(3)
packagecn.mybole;
//importjava.io.File;
importjava.io.*;
classtest
{
publicstaticvoidmain(String[]args)
{
testt=newtest();
Filef;
System.out.println("test");
}
}
2分别新建Test.java和Test2.java如下,编译之,查看错误原因,并改正之
Test
Test2
packagecn.mybole;
importus.mybag.test2;
classtest
{
publicstaticvoidmain(String[]args)
{
us.mybag.test2t2=newus.mybag.test2();
}
}
packageus.mybag;
publicclasstest2
{}
3final的使用:
编译,查看错误
Test
Test2
3.
修改Test,编译,并执行
修改Test2,编译,并执行,查看错误原因
Private方法在同包中无法被访问。
4Test不变,修改Test2,编译查看错误原因
Private和default方法无法在子类中访问
packagecn.mybole;
publicclasstest
{
publicvoidpubMethod()
{
System.out.println("pubMethod");
}
protectedvoidproMethod()
{
System.out.println("proMethod");
}
voiddefMethod()
{
System.out.println("defMethod");
}
privatevoidpriMethod()
{
System.out.println("priMethod");
}
publicstaticvoidmain(String[]args)
{
testt=newtest();
t.pubMethod();
t.proMethod();
t.defMethod();
t.priMethod();
}
}
packageus.mybag;
importcn.mybole.test;
publicclasstest2extendstest
{
publicstaticvoidmain(String[]args)
{
test2t2=newtest2();
t2.pubMethod();
t2.proMethod();
t2.defMethod();
t2.priMethod();
}
}
5、final类
修改Test、Test2,编译查看有何错误
Test
Test2
6、abstract
修改Test、Test2,
(1)编译Test.java查看有何错误,并改正之
Test
Test2
、
packagecn.mybole;
abstractclasstest
{
protectedabstractvoidproMethod();
/*{
System.out.println("proMethod");
}*/
publicstaticvoidmain(String[]args)
{
}
}
7接口,编译并运行。
interfacesport
{
voidrun();
voidjump();
}
classathleteimplementssport
{
publicvoidrun()
{
System.out.println("短跑");
}
publicvoidjump()
{
System.out.println("三级跳");
}
publicstaticvoidmain(String[]args)
{
athletezhangsan=newathlete();
zhangsan.run();
zhangsan.jump();
}
}
8、关于接口的例子,编译并运行,查看运行结果。
VideoCard.java
interfaceVideoCard
{
voidDisplay();
StringgetName();
}
Qicaihong.java
classQicaihongimplementsVideoCard
{
Stringname;
publicDmeng()
{
name="Qicaihong'svideocard";
}
publicvoidsetName(Stringname)
{
this.name=name;
}
publicvoidDisplay()
{
System.out.println("Qicaihong'svideocardisworking");
}
publicStringgetName()
{
returnname;
}
}
Mainboard.java
classMainboard
{
StringstrCPU;
VideoCardvc;
voidsetCPU(StringstrCPU)
{
this.strCPU=strCPU;
}
voidsetVideoCard(VideoCardvc)
{
this.vc=vc;
}
voidrun()
{
System.out.println(strCPU);
System.out.println(vc.getName());
vc.Display();
System.out.println("Mainboardisrunning");
}
}
Computer.java
classComputer
{
publicstaticvoidmain(String[]args)
{
Qicaihongq=newQicaihong();
Mainboardm=newMainboard();
m.setCPU("Intel'sCPU");
m.setVideoCard(q);
m.run();
}
}
修改后:
9、编译并运行,掌握接口中成员变量的使用。
10、练习ppt中的关于sofa.java的例子,体会接口的继承、实现
interfaceSittable
{
voidsit();
}
interfaceLie
{
voidsleep();
}
interfaceHealthCare
{
voidmassage();
}
classChairimplementsSittable
{
publicvoidsit(){};
}
classSofaextendsChairimplementsLie,HealthCare
{
publicvoidsleep(){};
publicvoidmassage(){};
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 包抽象类接口 抽象 接口