[修饰符列表] abstract class 类名{
类体;
}
public abstract void doSome();
abstarct class Animal{
public abstract void move();
}
interface MyMath{
int sum(int a,int b);
}
class MyMathImpl implements MyMath{
//int sum(int a,int b){
// return a+b;
//}
public int sum(int a,int b){
return a+b;
}
}
Java中类和类只支持单继承,实现多个接口,实际上就类似多继承,从而弥补单继承的缺陷。
extends关键字在前,implements关键字在后
exp:
main函数中:
Flyable f = new Cat();//多态
interface Flyable{
void fly();
}
Class Cat extends Animal implements Flyable{//实现飞猫
接口在开发中的作用类似于多态在开发中的作用
exp:
public class Master{
public void feed(Dog d){..}
public void feed(Cat c){..}
}
上述代码当再新增宠物的时候需要改动代码,扩展力差
使用多态
exp:
public void feed(Animal a){
//面向Animal父类编程,父类比子类更抽象
//面向抽象编程,不要面向具体编程
//如此,程序扩展力强
}
仅需修改,Animal a = new Cat();Animal a = new Dog();即可
有了接口之后,我们可以将项目划分为多个项目组,分工完成。如下Food Menu接口实现了America Cooker和China Cooker实现类,项目组一根据这两个实现类与Food Menu接口完成项目。而项目组二直接根据Food Menu类和Customer类来完成项目。

刚入门的程序员抽象能力不佳,多是去写一些实现方法。当成为慢慢成为系统架构师,高级软件工程师,项目经理,系统分析师之后,就开始写接口程序。