文档详情

第七章接口与实现.ppt

发布:2017-04-24约字共22页下载文档
文本预览下载声明
第7章 接口与实现;7.1.1 接口的声明与使用 (1)接口声明 接口通过使用关键字interface 来声明 interface 接口的名字 (2)接口体 接口体中包含常量定义和方法定义两部分。接口体中只进行方法的声明,不许提供方法的实现,所以方法的定义没有方法体,且用分号结尾。;例:interface Runner{ public static final int id=1; public void start( ); public void run( ); public void stop( ); } ;(3)接口的使用 一个类通过使用关键字implements 声明自己使用一个或多个接口。如果使用多个接口,用逗号隔开接口名。 如:class A implements Printable,Addable class Dog extends Animal implements Eatable,Sleepable;7.2 实现接口; 如果接口的方法的返回类型不是void 的,那么在类中实现该接口方法时,方法体至少要有一个return 语句。如果是void 型,类体除了两个大括号外,也可以没有任何语句。 ;例:import java.applet.*;import java.awt.*; interface Computable{ final int MAX=100; void speak(String s); int f(int x); float g(float x,float y); } class China implements Computable{ int xuehao; public int f(int x) { //不要忘记public关键字. int sum=0; for(int i=1;i=x;i++) { sum=sum+i; } return sum; }; public float g(float x,float y){ return 6; //至少有return语句. } public void speak(String s) { } } class Japan implements Computable{ int xuehao; public int f(int x){ return 68; } public float g(float x,float y){ return x+y; }; public void speak(String s) { } public class Example4_26 extends Applet{ China Li; Japan Henlu; public void init(){ Li=new China(); Henlu=new Japan(); Li.xuehao=991898; Henlu.xuehao=941448; }; public void paint(Graphics g){ g.drawString(xuehao:+Li.MAX+Li.xuehao+从1到100 求和+Li.f(100),10,20); g.drawString(xuehao:+Henlu.MAX+Henlu.xuehao+加法+Henlu.g(2.0f,3.0f),10,40); } } 注:如果一个类声明实现一个接口,但没有实现接口中的所有方法,那么这个类必须是 abstract 类。; 接口的语法规则很容易记住,但真正理解接口更重要。你可能注意到,在上述例子26 中如果去掉接口,并把程序中的Li.MAX,Henlu.MAX 去掉,上述程序的运行没有任何问题。那为什么要用接口呢? ; 假如轿车、卡车、
显示全部
相似文档