Java中的接口(interface)

来源:互联网 发布:用友t3软件多少钱 编辑:程序博客网 时间:2024/06/05 03:44

接口(Interface

一.接口通过使用关键词interface来声明,格式为: interface  NAME { ... }

二.接口提中只能包含常量和抽象方法,不能包含变量和普通方法,并且接口中的所有常量和抽象方法都是public定义的,以下通过定义一个接口来说明:

interface Printable {  public final int max = 100;                   //等价写法:int max = 100;    public abstract void add ( );                  //等价写法:void add ();   public abstract float sum (float x,  float y); }

三.接口也可以像类一样被继承,接口使用关键词extends继承另一个接口;

interface InterA {  public abstract void function1();}interface InterB extends InterA{  public abstract void function2();}

四.接口中的抽象方法只是定义了必须具有该行为,具体的实现有类来完成。类使用关键词implements实现接口,当某个类实现了一个接口,该类必须重载所实现接口的所有方法,除非该类是一个抽象类。如何理解这一句话呢?首先可以分两层来理解:

1.普通类(即非抽象类)实现接口时必须重载该接口的所有方法(显示声明public);

2.抽象类也可以实现接口,抽象类实现接口时可以不完全重载该接口的所有方法,由继承该抽象方法的普通类来完成所有接口方法的重载。

例如普通类B实现接口A

interface A {  public abstract void function1 ();  public abstract void function2 ();}  
public class B implements A{  public void function1 (){  /* ...*/  }  public void function2 (){  /* ...*/  }}


五.Java舍弃了C++语言中多重继承的机制,当然Java可以通过接口实现与C++语言中多重继承的相同功能,即在Java中一个类可以同时实现多个接口,各个接口之间用逗号‘,’隔开,书写格式为:类 implements 接口1,接口2,接口3

(举例:class CLASS_A implements INTER_B,INTER_C,INTER_D{...} 

原创粉丝点击