7.面向对象编程

1. 封装
  1. 步骤
    1. 属性私有化
    2. 提供getter、setter方法
    3. 在setter方法中添加控制语句
  2. 好处
    1. 提高代码复用性
    2. 提高代码安全性
    3. 方便修改
2. 继承
  1. java中的类可以单继承和多重继承
  2. Object类是所有类的直接或间接父类
  3. 子类可以继承父类的 成员变量、成员方法
  4. 父类的构造方法不能继承
  5. 理论上,任何两个类之间都可以进行继承,但是事实上继承需要满足is - a的关系
3. 多态
  1. 向上转型
// 父类引用子类对象
父类类型 引用名 = new 子类构造器(参数值);

父类引用中可以访问哪些内容

  1. 父类中定义的成员变量,成员方法
  2. 子类继承父类的重写后的方法
  1. 向下转型
// (子类类型)父类引用;
// 一般不推荐使用 会报一个异常 java.lang.ClassCastException;
// instanceof 关键词用来判断能否转换
引用名 instanceof 类型
  1. 多态

    1. 概念

      同一个父类引用不同的对象执行相同的方法得到不同的结果

    2. 前提

      1. 必须要有继承关系
      2. 必须要有方法的重写
      3. 父类类型 引用子类对象
    3. 优点

      1. 易维护,易拓展
      2. 使程序满足开闭原则
    4. 多态表现

      1. 父类数类型组存入子类对象
      2. 父类返回值类型返回子类对象
      3. 父类类型形参传入子类对象值
4. 访问修饰符
本类 同包子类 不同包子类 不同包非子类
public
protected
default
private
注意事项:
1. 子类不能继承父类的构造方法,但是子类对象创建时,必须先调用父类的构造方法
2. 在子类构造器中,第一行调用父类的构造方法
原文地址:https://www.cnblogs.com/forelim/p/14690478.html