特点 | 抽象类 | 接口 |
构造方法 | 有 | 无 |
普通成员变量 | 有 | 无 |
普通方法 | 可以有非抽象的 | 必须是抽象的 |
抽象方法的访问类型 | public、protected和默认 | 只能是public的,默认public abstract |
静态方法 | 可以有 | 无 |
静态成员变量 | 有 | 有 public static final的 |
其他类 | 只能继承一个抽象类 | 可以实现多个接口 |
应用场景 | 模块之间通信契约 | 代码重用 |
文中的formula被实现为一个匿名类的实例,该代码非常容易理解,6行代码实现了计算 sqrt(a * 100)。