前言
java面向对象的特性包括继承、多态、封装。
一、继承
继承可以这样理解,比如孩子继承父母的财产一样,子类可以继承父类的所有属性和方法,同时子类也可以拥有自己独有的属性或者方法。需要注意的是java的继承是单继承的,也就是说一个类只能继承一个类,一个子类只有能一个父类。
继承的好处:
- 代码新的是实现很容易,代码简洁;比如A继承B,那么A就可以直接使用B类的非私有方法了;
- 方便扩展
继承的坏处:
- 打破了封装,因为父类向子类暴露了实现细节
- 增加了耦合度,如果父类做了一些修改,对应的子类可能也会面临着重构。
二、封装
封装是面向对象的核心思想,指的就是将描述某种实体的数据和基于这些数的操作集合到一起,形成一个封装体。保证了程序和数据都不受外部干扰且不被误用,封装的目的在于保护信息。
封装的好处
- 只能通过规定方法访问数据
- 隐藏类数实现细节
- 方便修改实现
- 方便加入控制语句
三、多态
多态表现为方法的重写和重载。
重写
- 同一个类中,一个方法名可以有多种表现形式;
- 方法名相同,参数类型不同;
- 方法名相同,参数的个数不同;
重载
- 子类重载父类的方法;
- 方法名和参数、返回值都是一摸一样