第6章接口与多态.ppt
《第6章接口与多态.ppt》由会员分享,可在线阅读,更多相关《第6章接口与多态.ppt(36页珍藏版)》请在三一文库上搜索。
1、第6章 接口与多态,主要内容 接口 接口回调 面向接口编程 难点 面向接口编程,导学,Java不支持多继承性,即一个类只能有一个父类。单继承性使得Java简单,易于管理和维护。Java的接口更加符合人的思维方式,6.1 接 口,使用关键字interface来定义一个接口。接口的定义和类的定义很相似,分为接口的声明和接口体。,6.1.1 接口的声明与使用,接口通过使用关键字interface来声明,格式: interface 接口的名字,1接口声明,接口是一组常量和抽象方法的集合。 (1)接口的访问权限是public或缺省权限。 (2)接口中成员变量声明格式如下: public static f
2、inal 成员变量名=常量 接口中成员方法声明格式如下: public abstract 返回值类型 成员方法名(参 数表) 注意:接口中成员变量和成员方法的格式是固定的,故可以省略。,2接口体,举例,interface Printable public static final int MAX=100; public abstract void add( ); public abstract float( float x, float y); ,接口的示例,public interface Shape1 public static final PI=3.14; public abstract
3、 double area(); public abstract double volume(double x); public abstract void show(); ,接口的特点,(1)接口可以定义多重继承 (2)接口不存在最高层,而Java中类的最高层是Object类。 (3)接口中的方法只能被声明为public abstract 接口中成员变量只能用public static final 来声明。 (4)接口中的方法不能定义方法体。,在Java语言中,接口由类去实现以便使用接口中的方法。一个类可以实现多个接口,类通过使用关键字implements声明自己实现一个或多个接口。如果实现多
4、个接口,则用逗号隔开接口名 如: class A implements Printable,Addable,3接口的使用,重要性质,如果一个类实现了接口,那么这个类必须重写该接口的所有方法 重写接口的方法时,接口中的方法一定是public abstract 方法,所以类在重写接口方法时不仅要去掉abstract 修饰,给出方法体,而且方法的访问权限一定要用public 来修饰。,例6-1,public interface Computable int MAX=100; int f(int x); public class China implements Computable /China类实
5、现Computable接口 int number; public int f(int x) /不要忘记public关键字 int sum=0; for(int i=1;i=x;i+) sum=sum+i; return sum; ,public class Japan implements Computable /Japan类实现Computable接口 int number; public int f(int x) return 46+x; ,public class Example6_1 public static void main(String args) China zhang; J
6、apan henlu; zhang=new China(); henlu=new Japan(); zhang.number=28+Computable.MAX; henlu.number=14+Computable.MAX; System.out.println(“zhang的学号“+zhang.number+“,zhang求和结果“+zhang.f(100); System.out.println(“henlu的学号“+henlu.number+“,henlu求和结果“+henlu.f(100); ,说明,(1)如果父类实现了某接口,那么子类也就实现了该接口,子类不必显式地使用关键字imp
7、lements声明实现了接口 (2)接口声明时,关键字interface前可加public (3)如果一个类声明实现了一个接口,但没有重写接口中的所有方法,那么这个类必须是abstract类,interface Computable final int MAX=100; void speak(String s); int f(int x); float g(float x,float y); abstract class A implements Comutable public int f(int x) int sum=0; for(int i=1;i=x;i+) sum+=i; retur
8、n sum; ,6.1.2 理解接口,接口可以增加很多类都需要的功能,不同类可以实现相同的接口,同一个类也可以实现多个接口。,接口提供了方法声明与实现相分离的机制,使实现接口的多个类表现出相同的行为模式。,当一个类不希望通过继承使得自己具有某个方法时,就可以考虑去实现接口而不是把自己声明为某个类的子类。,例6-2,见教材,6.1.3 接口的UML图,顶部是名字层,接口名必须是斜体,而且需要用 第二层是常量层 第三层是方法层,6.2 接口回调(重点),6.2.1 接口变量与回调机制 6.2.2 接口的多态性 6.2.3 abstract 类与接口的区别,6.2.1 接口变量与回调机制,接口是一种
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 接口
链接地址:https://www.31doc.com/p-3129857.html