abstract抽象类
抽象类 用类来定义:extends 单继承 (接口可以多继承) 抽象类的所有方法,继承了它的子类,都必须要实现它的方法,除非本身也是抽象类 抽象类的特点 1.不能new这个抽象类 只能作为子类去实现它:约束 2.抽象类里面可以写普通方法,抽象方法必须写在抽象类中 3.抽象的抽象:约束
java抽象类存在构造器,即使你没有提供任何构造函数,编译器将为抽象类添加默认的无参数的构造函数,没有的话你的子类将无法编译,因为在任何构造函数中的第一条语句隐式调用super()。
接口
声明类的关键字是class,声明接口的关键字是interface。接口都需要实现类,用关键字implements可以实现多个接口,实现了接口的类必须要重写里面的全部方法。
接口是一种约束,定义的方法可以让不同的类实现。接口中的所有方法的定义都是抽象的public abstract,常量定义是public static final。接口中没有构造方法,也不能实例化。
普通类:只有具体实现
抽象类:具体实现和规范(抽象方法)都有
接口:只有规范,约束和实现分离,面向接口编程
接口的本质是契约。