1.抽象类概念
抽象类必须声明为public,protected,缺省下默认为public,如果不能继承就没有了意义;
抽象类不能创建对象;
如果一个类继承一个抽象类,必须实现所有的抽象方法,否则该类必须声明为抽象类
2.接口的概念
接口默认public修饰
中的变量必须用public static final修饰,一般我们不在接口中声明变量
方法隐士的为public abstract修饰
普通类可以继承一个抽象类实现多个接口,解决java单继承带来的局限性
抽象类更像是一种父类模板,而接口是一种行为规范
抽象类对于公共部分的代码修改可以做到一处修改,所有子类全部生效
接口则不行,一处修改,所有的实现类都需要修改
实际场景中我们根据实际情况结合抽象类和接口使用可以写出更人性化的代码
比如飞机是一个类,鸟是一个类,飞行是一种行为,我们在设计类的时候不要将对象和行为设计到一起,可以声明一个飞行的接口,飞机和鸟根据自己的需要进行实现飞行行为,所以不同的飞机种类继承飞机父类表明自己是某种飞机,如果需要具有飞行行为可以根据需要实现飞行接口,继承表明自己是什么,接口表明自己具有某种行为
网友评论