抽象类的定义:
成员属性:可以是变量,也可以是常量
成员方法:可以抽象,也可以非抽象(比如:构造方法是一定会有的)
接口类的定义:
成员属性:只能是常量(public static final)
成员方法:只能是抽象(接口没有构造方法,像太监没有小JJ)
多态的区别:
类与类:
继承,单一继承(亲爹只有一个)
类与接口:
实现,单一、多重实现(可以认多个干爹)
接口与接口:
继承,单一、多重继承(可以认多个干爹)
设计理念区别:
抽象类被继承体现的是:“is a”的关系。抽象类中定义的是该继承体系的共性功能。(例如亲爹:直属血缘关系)
接口被实现体现的是:“like a”的关系。接口中定义的是该继承体系的扩展功能。(例如干爹:认契、过继关系)
时间: 2024-10-18 22:37:41