开发原则:接口优先。
在开发过程中,若一个程序中既可以使用抽象类又可以使用接口时,优先使用接口。
- 1.定义:
接口是全局常量和抽象类的集合。(接口中只有全局常量和抽象类,普通方法、构造方法等都不存在)
- 2.接口使用原则:
a.接口用关键字interface修饰,接口命名一般以I开头
b.子类用implements关键字实现,一般以Impl结尾表示接口的子类
c.接口允许多实现,一个子类可以使用implements实现多个接口
d.接口无法直接实例化,需要通过子类向上转型为其实例化
e.接口中属性和抽象方法权限均为public,不写也为public,通常为了使代码更简洁,强制不写权限
f.抽象类可以使用implements实现多个接口,接口不能继承抽象类,接口可以使用extends实现多个父接口(抽象类和接口的关系)
g.当子类既需要继承抽象类又需要实现接口时,先extends一个抽象类而后使用implements实现多个接口
- 3.使用接口举例:
interface Imassage{
String NAME = "张三";
void fun( );
}
interface Iput{
void print( );
}
class customerImpl implements Imassage,Iput{
public void fun( ){
System.out.println(Imassage.NAME);
}
public void print( ){
System.out.println("----------");
}
}
public class Ex{
public static void main(String[ ] args){
Imassage massage = new customerImpl( );
massage.fun( );
Iput put = (Iput)massage;
put.print( );
}
}
运行结果: