接口可以继承接口。抽象类可以实现(implements)接口,但不可以继承自接口。抽象类可以继承具体类。抽象类中可以有静态的 main 方法。抽象类里可以有抽象方法,抽象方法一定要在抽象类里,抽象类可以派生,抽象类的父类可以是非抽象类。某一个类如果定义了某个方法是抽象方法,其子类并非一定要实现(不想实现父类中的抽象方法的话,子类同样定义成抽象类就是了)。当你想实例,就要实现所有抽象方法。可以使用接口声明对象,但必须使用其实现类实例化,接口实例化报错。Collection list = new ArrayList();Collection是接口,Arraylist是其实现类。这样的话,接口引用c就指向了具体的实现接口的对象,多态的体现
这样的好处在于通过接口c来调用的方法可以屏蔽掉具体的方法实现。换而言之,我只需要知道c要做什么,而不需要知道c怎么做,也就是在JAVA编程中经常用到的接口回调,即面向接口的编程更为重要的一点是Collection c只是引用,是一个指向具体实现类的引用。