接口、抽象类的分析
在分析接口和抽象类之前,首先要了解继承、实现和组合三种对象关系,继承是子类继承父类,他们的关系是is a,实现是类实现接口,关系是has a。对于Java来说是单继承和多实现的,单继承的设计主要是避免多继承带来的不必要的逻辑复杂性,如果是多继承,那么如果被继承的两个或者多个父类里面含有相同的方法如何处理,c++是利用虚继承来解决的,Java就是贵比这样的麻烦。子类继承父类必然继承了父类的所有方法和成员变量,这样可以提高代码复用
接口与抽象类的相同点:
接口和抽象类都含有抽象方法,没有办法实例化,因为抽象方法没有方法体,所以抽象类也是没有办法实例化。