抽象类用来抽取子类的通用特性包括属性和行为,而接口对行为进行抽象
将类的共同方法和属性再抽象出来就是抽象类,比如人都有眼睛和嘴巴,人都要吃饭和睡觉,那我们就可以将这种共同的抽象出来作为抽象类
public abstract Person{
public Mouth mouth;
public Eye eye;
public void eat(){}
public void sleep(){}
}
而有的人会敲代码,有的人不会。这种行为不是公共的,通过接口实现扩展性
抽象类和子类的关系是B is A,子类是父类
接口和子类的关系是B like A,子类像接口类一样具有某个功能
public interface CodePerson{
void code();
}
网友评论