day12 this super 在构造方法中的使用

l 引用

l this什么时候存在的?当创建对象的时候,this存在的

l this的作用:用来区别同名的成员变量与局部变量(this.成员变量)

public void setName(String name) {

this.name = name;

}

day12 this super 在构造方法中的使用

构造方法: 用来给类的成员进行初始化操作

格式:

修饰符类名 (参数列表) {

...

}

l 构造方法的特点:

l 1, 方法名与类名相同

l 2,没有返回值,也没有返回值类型,连void也没有

l 构造方法什么时候会被调用执行?

只有在创建对象的时候才可以被调用

 

l super: 指的是父类的存储空间(理解为父类的引用)

调用父类的成员变量:

super.成员变量;

调用父类的构造方法:

super(参数);

调用方法的成员方法:

super.成员方法();

day12 this super 在构造方法中的使用

l 继承中的构造方法注意事项:

1,如果我们手动给出了构造方法,编译器不会在给我们提供默认的空参数构造方法

   如果我们没写任何的构造方法,编译器提供给我们一个空参数构造方法

2, 在构造方法中,默认的第一条语句为 super();

   它是用来访问父类中的空参数构造方法,进行父类成员的初始化操作

3, 当父类中没有空参数构造方法的时候,怎么办?

a: 通过 super(参数) 访问父类有参数的构造方法

b: 通过 this(参数) 访问本类中其他构造方法

   注意:[本类中的其他构造方法已经能够正常访问父类构造方法]

4, super(参数) 与 this(参数) 不能同时在构造方法中存在

day12 this super 在构造方法中的使用