类中加入 abstract 就是抽象类
要继承抽象类必须重写方法或者 子类也是abstract
加入abstract 的方法就是抽象方法
抽象类的所有方法, 继承了它的子类 ,都必须要实现他的方法
抽象类不能通过new来实现 ,只能通过子类去实现它
一旦有抽象方法 你的类 必须为抽象类 ,但是抽象类里面可以写普通方法
思考1 abstract不能通过new来实现 那么 它是否拥有构造器
百度中
抽象类可以有构造方法,只是不能直接创建抽象类的实例对象而已。在继承了抽象类的子类中通过super()或super(参数列表)调用抽象类中的构造方法。
思考2 抽象类存在的意义是什么
java中抽象类更利于代码的维护和重用。
接口
普通类:只要具体实现方法
抽象类;具体实现和规范(抽象方法)都有!
接口 :只要规范 自己无法写方法 专业的抽象 约束和实现分离
接口就是规范,定义的是一组规则,体现了现实世界中“如果你是...则必须能......”的思想。如果你是天使则必须能飞,如果你汽车,则必须能跑。
接口的本质是契约 ,就像我们人间的法律一样。制定好后大家都遵守
OO的精髓,是对对象的抽象,最能体现这一点的就是接口。为什么我们讨论设计模式都只针对了具备了抽象能力的语音(l例如C++ JAVA c 等 ),就是因为设计模式所研究的,实际上就是如何合理的去抽象。
定义接口的关键字 interface
例如
接口的作用
约束
定义一些方法 让不同人实现
public abstract
public static final
接口不能被实例化 接口中 没有构造方法
inmplements 可以实现多个接口
必须要重写接口中的方法