DAY07 复习
1.构造函数:
格式:与本类类名同名,且没有返回值类型
作用:创建对象
执行时机:每次创建对象时都会执行构造方法
分类:
- 无参构造:默认存在,如果添加了其他构造,默认的构造函数会被覆盖,所以要记得手动提供哦~
- 含参构造:对于参数没有任何要求,有参数就行
全参构造:全参构造的参数必须与本类属性一致
全参构造不仅可以创建对象,还可以给对象的所有属性赋值
2.方法的重载
在同一个类中,存在多个方法名相同,但参数列表不同的方法
- 如果在同类中,多个同名方法的参数个数不同,一定构成重载
- 如果在同类中,多个同名方法的参数个数相同:需要查看对应位置上的参数的类型,而不是参数名,与参数名无关
- 如:(int a ,String b)与(int b,String a)–不构成重载
(int a,String b)与(String a,int b)–构成–构成重载
3.构造代码块:
位置:类里方法外
执行时机:每次创建对象时执行,并且优先于构造方法执行
作用:用于提取所有构造方法的共性功能
4.局部代码块:
位置:方法里
执行时机:调用本局部代码块所处的方法时执行
作用:用于控制变量的作用范围
5.1 this的用法:
- 当成员变量与局部变量同名时,使用this指定成员变量
使用this在构造方法的第一行调用构造方法的功能 this();–调用的是本类的无参构造
this(参数);–调用的是本类对应参数的构造方法5.2 super的用法:
当成员变量与局部变量同名时,使用this指定成员变量
使用this在构造方法的第一行调用构造方法的功能this();–调用的是本类的无参构造
this(参数);–调用的是本类对应参数的构造方法6. 继承
继承的关键字extends 格式: 子类 extends 父类
- 继承相当于子类把父类的功能复制了一份
- Java只支持单继承:一个子类只能有一个父类,一个父类可以有多个子类
- 继承具有传递性:爷爷的功能会传给爸爸,爸爸的功能会传给孙子
- 子类只可以使用父类的非私有资源,私有资源由于private限制,不可用
- 子类可以拥有自己的特有功能
- 继承是is a 强耦合的关系,依赖性非常强,比如我们看到”熊孩子”,就知道他有一个”熊父母”
7 继承中的构造方法
- 子类在创建对象时,默认会先调用父类的构造方法
- 原因是子类构造函数中的第1行默认存在super();–表示调用父类的无参构造
- 当父类没有无参构造时,可以通过super(参数);调用父类的其他含参构造
- 注意:子类必须调用父类的一个构造函数,不论是无参还是含参,选一个即可
- 构造方法不可以被继承!因为语法的原因,要求构造方法的名字必须是本类类名
- 不能在子类中出现一个父类名字的构造方法