接口只能通过一个子类进行实例化,那直接实例化一个子类对象不就可以了吗?
为什么还要写成一个接口的形式呢?
比如说:List lists = null;
lists = new ArrayList();
直接写成: ArrayList lists = new ArrayList(); 有什么区别吗?
是一样的,但不要面向实现编程,要面向接口编程。接口只有定义,但具体实现是通过子类实现。这是一种很好的思想。
子类的引用指向父类的实例,那么你调用的可以是父类的,也可以是本身的,如果子类的引用指向子类的实例,那么只能调用自己的方法