DAY07 复习
1.构造函数:
格式:与本类类名同名,且没有返回值类型
作用:创建对象,创建一次,执行一次构造函数
分类:
1)无参构造:默认存在,如果添加了其他构造,默认的构造函数会被覆盖
2)含参构造:对于参数没有任何要求,有参数就行
3)全参构造:全参构造的参数必须与本类属性一致
全参构造不仅可以创建对象,还可以给对象的所有属性赋值
2.构造代码块:
位置:类里方法外
执行时机:每次创建对象时执行,并且优先于构造方法执行
作用:用于提取所有构造方法的共性功能
3.局部代码块:
位置:方法里
执行时机:调用本局部代码块所处的方法时执行
作用:用于控制变量的作用范围
4.this的用法:
1.当成员变量与局部变量同名时,使用this指定成员变量
2.使用this在构造方法的第一行调用构造方法的功能
this();–调用的是本类的无参构造
this(参数);–调用的是本类对应参数的构造方法
5.super的用法:
1.当父类的成员变量与子类的变量同名时,使用super指定父类的成员变量
2.使用super在子类构造方法的第一行调用父类构造方法的功能
super();–调用的是父类的无参构造
super(参数);–调用的是父类对应参数的构造方法
6. 继承
- 继承的关键字extends 格式: 子类 extends 父类
- 继承相当于子类把父类的功能复制了一份,包括私有资源
- Java只支持单继承:一个子类只能有一个父类,一个父类可以有多个子类
- 继承具有传递性:爷爷的功能会传给爸爸,爸爸的功能会传给孙子
- 子类只可以使用父类的非私有资源,私有资源不可用的原因是不可见
- 子类可以拥有自己的特有功能
- 继承是is a 强耦合的关系,依赖性非常强,比如我们看到”熊孩子”,就知道他有一个”熊父母”
方法的重写
前提:子类继承父类以后,对父类的功能做改进
语法规则:两同 两小 一大
两同:子类的方法与父类方法的方法名+参数列表相同
一大:子类方法的修饰符 >= 父类方法的修饰符
两小:子类方法的返回值类型 <=父类方法的返回值类型
子类方法抛出的异常类型 <= 父类方法抛出的异常类型
注意:我们在重写规则中提到的方法的返回值类型的大小,指的不是值的大小【1与2】,也不是字节的大小【byte与int】,我们这里指的“大小”是说:子类方法的返回值类型必须是父类方法返回值类型的子类或者是同一类型
比如父类是:void,子类是void
比如父类是:Cat,子类是MiaoMiao