什么时候使用接口?什么时候用抽象类?
接口主要用来描述行为
抽象类主要用来描述属性或已经知道的方法实现
不知例子是否恰当,请批评指正.
接口主要用来描述行为
抽象类主要用来描述属性或已经知道的方法实现
/**
* 使用接口,而使用抽象类做不到
*/
interface A{
void run();
}
interface B{
void walk();
}
interface C{
void jump();
}
/*
* 如果一个人只需要实现 跑、走、跳的一种,当然只需实现他需要的接口
* 但如果一个人需要实现 跑、走、跳三种,接口也很容易实现,
* 因为一个类可以实现多个接口,这点抽象类做不到
*/
class D implements A{}
class D implements A,B,C{}
/**
* 使用抽象类,而使用接口做不到
* 抽象类可以描述子类共有的属性和已知方法的实现,
* 这点接口做不到,因为接口里的属性都是常量
*/
abstract A{
private String name;
private String sex;
public abstract void run(){
/*
* 比如在这里面可以做一些事情,
* 而接口里面的方法不能做到,接口里面的方法只能是抽象方法
*/
System.out.println("正常人的跑");
}
}
class B extends A{
//这时,如果B也是正常的跑,就不必重写父类的方法
}
class C extends A{
//这时,C说他是飞跑,那就必须重写父类的方法
public void run(){
Sysotem.out.println("飞跑");
}
}
不知例子是否恰当,请批评指正.