DAY07 复习

1.构造函数:

格式:与本类类名同名,且没有返回值类型

作用:创建对象

执行时机:每次创建对象时都会执行构造方法

分类:

  1. 无参构造:默认存在,如果添加了其他构造,默认的构造函数会被覆盖,所以要记得手动提供哦~
  2. 含参构造:对于参数没有任何要求,有参数就行
  3. 全参构造:全参构造的参数必须与本类属性一致

    1. 全参构造不仅可以创建对象,还可以给对象的所有属性赋值

    2.方法的重载

  4. 在同一个类中,存在多个方法名相同,但参数列表不同的方法

  5. 如果在同类中,多个同名方法的参数个数不同,一定构成重载
  6. 如果在同类中,多个同名方法的参数个数相同:需要查看对应位置上的参数的类型,而不是参数名,与参数名无关
  7. 如:(int a ,String b)与(int b,String a)–不构成重载

(int a,String b)与(String a,int b)–构成–构成重载

3.构造代码块:

位置:类里方法外

执行时机:每次创建对象时执行,并且优先于构造方法执行

作用:用于提取所有构造方法的共性功能

4.局部代码块:

位置:方法里

执行时机:调用本局部代码块所处的方法时执行

作用:用于控制变量的作用范围

执行顺序:
构造代码块->构造方法->普通方法->局部代码块

5.1 this的用法:

  1. 当成员变量与局部变量同名时,使用this指定成员变量
    使用this在构造方法的第一行调用构造方法的功能
  2. this();–调用的是本类的无参构造
    this(参数);–调用的是本类对应参数的构造方法

    5.2 super的用法:

  3. 当成员变量与局部变量同名时,使用this指定成员变量
    使用this在构造方法的第一行调用构造方法的功能

  4. this();–调用的是本类的无参构造
    this(参数);–调用的是本类对应参数的构造方法

    6. 继承

  5. 继承的关键字extends 格式: 子类 extends 父类

  6. 继承相当于子类把父类的功能复制了一份
  7. Java只支持单继承:一个子类只能有一个父类,一个父类可以有多个子类
  8. 继承具有传递性:爷爷的功能会传给爸爸,爸爸的功能会传给孙子
  9. 子类只可以使用父类的非私有资源,私有资源由于private限制,不可用
  10. 子类可以拥有自己的特有功能
  11. 继承是is a 强耦合的关系,依赖性非常强,比如我们看到”熊孩子”,就知道他有一个”熊父母”

7 继承中的构造方法

  1. 子类在创建对象时,默认会先调用父类的构造方法
  2. 原因是子类构造函数中的第1行默认存在super();–表示调用父类的无参构造
  3. 当父类没有无参构造时,可以通过super(参数);调用父类的其他含参构造
  4. 注意:子类必须调用父类的一个构造函数,不论是无参还是含参,选一个即可
  5. 构造方法不可以被继承!因为语法的原因,要求构造方法的名字必须是本类类名
  6. 不能在子类中出现一个父类名字的构造方法