你不能总是用纯接口,抽象类也是重要的工具。
包含抽象方法的类叫抽象类。抽象类中不一定有抽象方法,但是有了抽象方法一定要被定义为抽象类。如果抽象类中不含有任何的抽象方法,那么就是为了阻止产生这个类的任何对象。
接口interface更加极致,产生一个完全抽象的类,允许创建者确定方法名,参数列表和返回类型。没有任何方法体。极度抽象的类。遵循接口的实现需要使用implements关键字。
接口中可以包含域(如字段),但是它会被默认为static和final。在Java1.5以前这是创建枚举类型的唯一方式enum。接口的域自动的是public。public interface Months{ int JANUARY=1;}
任何抽象性都应该是有真正的需求而产生的。