关于方法:

  1. 普通方法:
  2. 构造方法:
  3. 静态方法:

    关于代码块:

  4. 静态代码块

    1. static{}

    类里方法外,属于静态资源,优先于对象被加载

  5. 构造代码块

    1. {}

    类里方法外,优先于构造方法执行,用于提取所有构造方法的共性功能

  6. 局部代码块

    1. {}

    方法里,用于控制变量作用范围,范围越小越好

    面向对象三大特征

  7. 封装

通过private关键字,对资源的访问进行限制,私有资源只能在本类中访问
私有资源若想正常使用,需要对外提供公共的全局访问点:

  1. 属性的封装:提供公共的getXxx()与setXxx();
  2. 方法的封装:提供公共的方法去调用私有方法
    1. 继承

继承相当于子类把父类的功能复制了一份
子类可以使用父类所有的非私有资源
Java只支持单继承,一个子类只有一个父类,一个父类可以有多个子类,继承具有传递性
继承是is a的关系,耦合性非常强

  1. 多态

    1. 多态前提:继承+重写
    2. 口诀1:父类引用指向子类对象 Animal a = new Dog();
    3. 口诀2:编译看左边,运行看右边
    4. 统一调用标准,统一向父类看起,父类定义的方法,子类才能使用
    5. 强调的是方法,方法的定义看父类,方法体看子类
    6. 多态对象把自己看作是父类类型,成员变量使用的是父类的,静态资源也是父类的

      this与super

      this

  2. this代表的是本类,this.变量名指向的是本类的成员变量;

  3. this(参数);使用的是本类的构造方法

    super

  4. super代表的是父类

  5. super.变量名;指向的是父类的成员变量
  6. super(参数);调用的是父类的构造方法

注意事项:

  1. this与super必须处于第一行

static

静态资源属于静态资源,随着类的加载而加载,优先于对象进行加载,只加载一次
静态资源可以使用类名直接调用
静态资源可以被全局共享,值只有一份

重写与重载

重载

在同一类中存在方法名相同,参数列表不同的的方法,
使用 方法名(参数列表); 确定调用方法

重写

继承后,子类可以重写父类方法的功能
满足OCP原则,在不修改父类代码情况下实现功能的拓展与更新
重写规则:两同两小一大原则

  1. 两同:方法名与参数列表相同
  2. 一大:子类方法的修饰符>=父类方法的修饰符
  3. 两小:
    1. 子类方法的返回值类型<=父类方法的返回值类型
    2. 子类方法抛出的异常类型<≡父类方法的异常类型