java interface是什么意思?怎么用?

Python022

接口(interface)是抽象方法和常量值的定义的集合。

从本质上讲,接口是一种特殊的抽象类,这种抽象类中包含常量和方法的定义,而没有变量和方法的实现。

接口定义举例:

public interface Clazz {

public static final int id=1

public void method()

public abstract void m2()

}

接口特性:

多个无关的类可以实现同一个接口。

一个类可以实现多个无关的接口。(相当于多继承)。

与继承关系类似,接口与实现类之间存在多态性。

接口中声明属性默认为public static final 的;也只能是public static final的。//可以不写。默认是public static final的。

接口中只能定义抽象方法,而且这些方法默认为public的,也只能是public的。

接口可以继承其它的接口,并添加新的属性和抽象方法。

两者的语法区别:

1.抽象类可以有构造方法,接口中不能有构造方法。

2.抽象类中可以有普通成员变量,接口中没有普通成员变量

3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。

4. 抽象类中的抽象方法的访问类型可以是public,protected和(默认类型,虽然

eclipse下不报错,但应该也不行),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。

5. 抽象类中可以包含静态方法,接口中不能包含静态方法

6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。

7. 一个类可以实现多个接口,但只能继承一个抽象类。