欢迎来到天天文库
浏览记录
ID:37858132
大小:149.50 KB
页数:12页
时间:2019-06-01
《Java塑形,接口实验(1)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Java接口、塑型实验(1)一、实验目的与要求1、掌握接口的概念,深刻理解接口的真正内涵2、掌握Java中接口的使用方法3、熟悉如何将接口的思想运用到实际编程中去4、掌握塑型的概念、掌握塑性的应用5、掌握塑型前后对象方法的查找顺序。二、内容概要1、接口相关知识 接口定义:接口是抽象方法和常量值的定义的集合。本质上讲,接口是一种特殊的抽象类,这种抽象类只包括常量和方法的定义,而没有变量和方法的实现。 接口定义举例:Runner.javapublicinterfaceRunner{publicstaticfinalintid=1;publicvoidstart();publicvoi
2、drun();publicvoidstop();} 接口的特性: a、接口可以多重实现(一个类可以实现多个接口); b、接口中声明的公共属性为publicstaticfinal也只能能是publicstaticfinal的 c、接口中只能定义抽象方法,而且这些方法默认是publicabstract的,也只能是publicabstract的 d、接口可以继承其他的接口,并添加新的属性和抽象方法 e、多个无关的类可以实现同一个接口 f、一个类可以实现多个无关的接口 j、与继承关系类似、接口与实现类之间存在着多态性。interfaceSinger{publicabstrac
3、tvoidsing();publicabstractvoidsleep();}interfacePainter{publicabstractvoidpaint();publicabstractvoideat();}classStudentimplementsSinger{privateStringname;Student(){this.name="无名氏";}Student(Stringname){this.name=name;}publicStringgetName(){returnname;}publicvoidstudy(){System.out.println("Studyi
4、ng");}publicvoidsing(){System.out.println("Studentissinging");}publicvoidsleep(){System.out.println("Studentissleeping");}}classTeacherimplementsSinger,Painter{privateStringname;Teacher(){this.name="无名氏";}Teacher(Stringname){this.name=name;}publicStringgetName(){returnname;}publicvoidteach(){Sy
5、stem.out.println("Teaching");}publicvoidsing(){System.out.println("Teacherissinging");}publicvoidsleep(){System.out.println("Teacherissleeping");}publicvoidpaint(){System.out.println("Teacherispainting");}publicvoideat(){System.out.println("Teacheriseating");}}classTest{publicstaticvoidmain(Str
6、ing[]args){Singers1=newStudent("lie");s1.sing();s1.sleep();s1.study();Singert1=newTeacher("steven");t1.sing();t1.sleep();Paintert2=(Painter)t1;t2.paint();t2.eat();}}接口的语法:[接口修饰符]interface接口名称[extends父类名]{//方法定义或者常量定义;}接口的实现class类名implements接口名称{//classbody;}实现接口接口的类必须实现接口中的所有抽象方法,来自接口的方法必须为publ
7、ic。interfaceShap2D{doublepi=3.141592653589793;doublearea();}classCircleimplementsShap2D{doubleradius;publicCircle(doubleradius){this.radius=radius;}publicdoublearea(){return(pi*radius*radius);}}classRectangleimplementsShap2D{doubl
此文档下载收益归作者所有