抽象是多个类有关系,一个类只能继承一个。接口是定义某种规范和方法,实现类可以无关。一个类可以实现多个接口。
如果是迭代的产品,刚开始要选择接口,这样容易添加后续功能。比如一个手机刚开始只有通话功能,后来添加了一个视频功能,此时抽象或接口都可以,下一代产品既可以语音又可以视频,就不能抽象了,因为抽象只能继承一个。
public abstract class phone{
public void call()
}
//抽象,
public class newphone extends phone{ //二代产品
public void view()
}
//三代无法实现
//用接口
public interface class phone{
void call();
}
public interface newphone extends phone { //接口继承
void view();
}
public interface newnewphone extends phone,newphone {
void photo(); // 用有视频,语音,照相三个功能
}
抽象一般是代码重用问题,接口考虑到软件升级问题。
emmmm最好用接口吧。