接口:接口主要用来约束某个实物实现,制定规范
抽象类:抽象类可以理解用来复用代码。
区别。
1.接口不考虑default方法,则只需要声明方法,不需要实现。而类可以写具体实现。
2.抽象类可以有构造函数,接口不能有
3.单继承,多实现,一个类只能一次继承指定类,而接口可以多实现。
使用原则:制定实现规范则用接口,复用则用抽象类即可。
抽象类使用场景:
1.如对接第三方需要生成token,则token方法可以通过抽象类实现,而子类继承即可复用
public abstract class TokenAbstract {
public String getToken() {
return "这是一个Token";
}
}
public class ProductData extends TokenAbstract {
public Object getData() {
//复用父类获取接口方法
String token = getToken();
//通过token获取具体数据
return "拿到数据了";
}
}
2.第二种方式可以通过抽象类,执行模版步骤,如上车、开车。
而子类重写上车、开车。即可实现多态模版场景