定义各种教材上好多,你可以去看,我就不多说了,估计你也看过,还是很迷惑 .
我在这只从JAVA语言的使用上列举些,希望对你能有所所帮助:
* interface 中的方法不能有实现,作用是分类功能,一个类可以实现多个接口.
public interface IFoo{
//做a+b计算返回结果
int doPlus(int a, int b);
}
public interface IBar{
//做a+b-c计算返回结果
int doMath(int a, int b, int c);
}
public Impl implements IFoo,IBar{
public int doPlus(int a, int b){
return a+b;
}
public int doMath(int a, int b, int c){
return a+b-c;
}
.....
}
* 抽象类的作用的定义公共功能。抽象类和其子类是有上下级关系的。同时一个子类只能继承一个父类.
public abstract class Bar {
public void doCommon(){
.......
}
public abstract int doSomething();
}
public class Foo extends absFoo{
public int doSomething(){
int res=0;
....
return res;
}
}
其他类使用Foo的实例时也能使用其父类方法foo.doCommon(), 这样当doCommon方法改动的时候,只需要改父类,所有子类的这个功能也都同时更新。
* interface中定义的属性一定是public static final的不管你加不加这些; 而抽象类中的属性和类的一样可以通过上述关键字来定义,并不是默认强加的。