Java中的接口interface

什么是接口?接口也是一个特殊的抽象类


接口特点:

   (1) 接口的关键字为 interface

public interface A { ... }

   (2) 所有 属性 是公开静态的常量 public static final

   (3) 所有 方法 是公开的抽象方法 public abstract

   (4) 接口中没有构造方法

   (5) 一个类只能继承一个直接的父类,但可以实现多个接口,

      间接的实现了多继承

public class A extends B implements C,D{ ... } //B为class。C,D为interface


代码例子:

//属性只能是 public static final
//方法只能是 public abstract
public interface A {
    public static final int a=1;
    int b=2;                        //默认为:public static final
    public abstract void init();
    void init2();                   //默认为:public abstract
}
//接口必须通过类来实现它的抽象方法,用  implements
class B implements A {
    public void init() { ... }
    public void init2() { ... }
}
//一个类只能继承一个直接的父类,但可以实现多个接口,间接的实现了多继承
public class A extends B implements C,D{ ... } //B为class。C,D为interface。
.
//-----------------------------------------------------------
/*
 * 以下为一些接口定义中常见的问题
*/
public interface C {
    int a;         //错。a是常量,必须显示初始化
    void method() { ... }   //错。接口中只能包含抽象方法
    public C() { ... }   //错。接口中不能包含构造方法
}
.
interface D implements A{ ... }  //错。一个接口不能实现(implements)另一个接口。
interface E extends A{ ... }     //对。它可以继承多个其它的接口。
.


接口和抽象类的对比:


接口 抽象类
属性 静态常量

一般变量

常量

静态变量

静态常量

方法 抽象方法

方法

静态方法

抽象方法

抽象静态方法

构造方法 不能有 可以有
关键字

interface

abstract
继承字 implements extends
继承关系 like a is a


Java中的接口interface

上一篇:安装和使用MatlabCompilerRuntime


下一篇:linux下数据库实例开机自启动设置