- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 接口及实现
第七章 接口与实现 7.1 接口 Java 不支持多继承性,即一个类只能有一个父类。单继承性使得Java 简单,易于管理程序。为了克服单继承的缺点,Java使用了接口,一个类可以实现多个接口。 接口的声明与实现 使用关键字interface来定义一个接口。接口的定义和类的定义很相似,分为接口的声明和接口体。 1.接口的声明 interface 接口的名字 2.接口体 接口体中只进行方法的声明,不许提供方法的实现,所以,方法的定义没有方法体,且用分号“;”结尾。如: interface Printable { final int MAX=100; void add(); float sum(float x ,float y); } 3.接口的实现 一个类通过使用关键字implements 声明自己实现一个或多个接口。如果使用多个接口,用逗号隔开接口名。 如: class A implements Printable,Addable class Dog extends Animal implements Eatable,Sleepable 如果一个类使用了某个接口,那么这个类必须实现 该接口的所有方法,即为这些方法提供方法体。需要注意的是在类中实现接口的方法时,方法的名字、返回类型、参数个数及类型必须与接口中的完全一致。 特别要注意的是接口中的方法被默认是public 的,所以类在实现接口方法时一定要用public 来修饰。 如果接口的方法的返回类型如果不是void 的,那么在类中实现该接口方法时,方法体至少要有一个return 语句。如果是void 型,方法体除了两个大括号外,也可以没有任何语句。 Java 为我们提供的接口都在相应的包中,通过引入包可以使用Java 提供的接口。也可以自己定义接口,一个java源文件就是由类和接口组成的。 例子 interface Computable { int MAX=100; int f(int x); } class China implements Computable { int number; public int f(int x) //不要忘记public关键字 { int sum=0; for(int i=1;i=x;i++) { sum=sum+i; } return sum; } } class Japan implements Computable { int number; public int f(int x) { return 66+x; } } public class Example5_12 { public static void main(String args[]) { China zhang; Japan henlu; zhang=new China(); henlu=new Japan(); zhang.number=991898+Computable.MAX; henlu.number=941448+Computable.MAX; System.out.println(number:+zhang.number+求和+zhang.f(100)); System.out.println(number:+henlu.number+求和+henlu.f(100)); } } 注:如果一个类声明实现一个接口,但没有实现接口中的所有方法,那么这个类必须是 abstract 类。 interface Computable { int MAX=100; void speak(String s); int f(int x); } abstract class China implements Computable { public int f(int x) { int sum=0; for(int i=1;i=x;i++) { sum=sum+i; } return sum; } } 7.3 理解接口 接口的思想在于它可
原创力文档


文档评论(0)