• 把一组数据结构和处理它们的方法组成对象(object)
• 把相同行为的对象归纳为类(class)
• 通过类的封装(encapsulation)隐藏内部细节
• 通过继承(inheritance)实现类的特化(specialization)/泛化(generalization)
• 通过多态(polymorphism)实现基于对象类型的动态分配(dynamic dispatch)
方法的重写(Overriding)和重载(Overloading)是java多态性的不同表现
重写是父类与子类之间多态性的一种表现 重载可以理解成多态的具体表现形式