1.什么是接口?
接口是一套规范,只要是满足这个规范的设备,就可以将它们组装到一起,从而实现该设备的功能。
2.定义接口
接口的定义关键字, interface。
/**
* 纸张接口
* */
public interface Paper {
/**
* 得到纸张的大小
* @return 纸张大小
* */
public String getSize();
}
3.实现接口
用一个类来实现接口,使用关键字 implements。(类可以实现多个接口,用逗号隔开。继承和实现同时出现则继承在前)
/**
* A4纸张
* */
public class A4Paper implements Paper{
public String getSize(){
return "A4";
}
}
4.接口里的常量和方法
1.接口里面是不可以定义变量的,可以定义常量,接口中的属性都会自动默认添加public static final修饰,即接口中的属性全都是全局常量。接口中的常量在定义时必须默认化初始值。
2.接口中的方法都是抽象方法,接口中的方法都会默认添加public abstract 修饰,即接口中只有全局抽象方法。
3.和抽象类一样,接口也不能实例化,接口中不能有构造方法。
4.接口之间可以通过extends来实现继承关系,一个接口可以继承多个接口,但接口不能继承类。
5.接口的实现类必须实现接口的全部方法,否则必须定义为抽象类。
5.JAVA与C#的接口区别
1.JAVA中接口通过extends来继承接口,类通过implements实现接口;C#中通过冒号“:”来实现这两个功能。
2.JAVA接口中的成员变量都是常量,自动用public、static、final修饰;C#接口中不允许存在成员变量,但可以有属性。
3.JAVA接口中属性和方法都可以使用public修饰;C#中默认为public,但不允许显示使用public修饰。
4.JAVA接口中可以定义静态常量和方法,C#接口中不允许包含任何静态成员。