JAVA新手入门(5)
3595 点击·0 回帖
![]() | ![]() | |
![]() | 接口 java中使用接口概念的原因:java不支持多继承性,即一个类只能有一个父类.单继承性使得java简单,易于管理程序.为了克服单继承的缺点,java使用了接口. 一个类可以实现多个接口.使用关键字interface来定义一个接口.接口的定义和类的定义很相似,分为接口的声明和接口体. 1.接口声明及接口体 前面曾使用class关键字来声明类,接口通过使用关键字interface来声明.格式 interface 接口的名字 接口体中包含常量的定义和方法定义两部分.接口体中只进行方法的声明,不允许提供方法的实现,所以,方法的定义没有方法体,且用";"结尾.如 interface Printable { final int max=100; void add(); float sum(float x,float y); } 2.接口的使用 一个类通过使用关键字implements声明自己使用一个或多个接口.如果使用多个接口,用逗号隔开接口名.如: class A implements Printable,Addable 类A使用接口Printable 和接口Addable 子类使用接口格式也一样,如: class B extends A implements Printable,Addable 子类B使用接口Printable 和接口Addable 如果一个类使用了某个接口,那么这个类必须实现该接口的所有方法,即为这些方法提供方法体.需要注意的是:在类中实现接口的方法时,方法的名字,返回值类型,参数个数及类型,必须与接口中的完全一致.特别要注意的是:接口中的方法默认是public abstract方法,所以类在实现接口方法时必须给出方法体,并且一定要用public来修饰,而且接口中的常量默认是public static常量. 由于接口体中只有常量定义和public的abstract方法定义,程序在编写接口时,允许省略常量前面的public,final和static修饰,也允许省略方法前的public和abstract修饰.另外,如果接口方法的返回类型不是void型,那么在类中实现接口方法时,方法体至少要有一个return语句;如果是void型,类体除了两个大括号外,也可以没有任何语句. java提供的接口都在相应的包中,通过引入包可以使用java提供的接口.也可以自己定义接口,一个java源文件就是由类和接口组成的. 虽然使用接口描述的很罗嗦,看看下面的例子就容易掌握了 [code] interface Computable//定义接口 { int MAX=100; int f(int x);//声明方法(是public abstrac型的,只是省略了关键字) } 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)//不要忘记public关键字 { return 44+x; } } public class E { 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)); } | |
![]() | ![]() |