一、封装
- 定义
广义:类和方法本身就是封装的体现
狭义:隐藏对象的属性和实现细节,仅对外提供公共的访问方法 - private关键字 private 私有 被private修饰的成员只能在当前类使用
private特点:
是个权限修饰符;可以修饰成员变量和成员方法;被修饰的成员只能在本类访问
private仅仅是封装的一种表现形式 - 好处
隐藏实现细节,仅提供公共的访问方式;提高代码和数据安全性‘提高代码的复用性
二、继承
- 关键字extends表示继承,is-a关系是继承的一个明显特征
- 子类,继承其他类的类为子类;父类被继承的类为父类
- 继承的好处:提高代码复用性;让类与类之间产生关系,有了这个关系才有多态,是多态的前提
- 继承的弊端:类的耦合性曾强了,开发原则,低耦合高内聚
- java中只能单继承不支持多继承
方法重写
- 子类出现和父类一模一样的方法
- 重写的作用:提高代码的扩展性,当子类需要父类的功能,而功能主体子类特有的内容时,可以重写父类中的功能,这样即沿袭了父类的功能又定义了子类的特有内容
- 注意事项:子类不能重写父类私有方法;子类重写父类方法,方法的权限修饰符要大于等于父类
三、抽象
- 被abstract修饰的类叫抽象类,被abstract修饰的方法是抽象方法
- 特点:
抽象方法一定在抽象类中
抽象方法和抽象类都必须用abstract关键字修饰
抽象类的子类必须覆盖父类的抽象方法,否则子类也必须是抽象类
抽象类中可以有非抽象方法,但抽象方法一定在抽象类中 - 好处:
抽象父类让子类必须完成父类的所有的抽象方法
功能不确定让子类去实现