this关键字
之前我们学习了【this.属性名】和【this.方法名()】,这种情况下this表示使用该类创建的对象引用。还有一种方式是【this()】,这种是再构造方法中才能出现的。
this关键字解决重复的代码
public class Student {
private String name;
private int age;
private double height;
private String sex;
private int number;
//为了代码的简化暂时不写属性的setter和getter方法
//定义出有参数的构造方法
public Student() {
}
public Student(String name) {
this.name=name;
}
public Student(String name,Integer age) {
this(name);//调用上第一个构造方法
this.age=age;
}
public Student(String name,Integer age,String sex) {
this(name,age);//调用上一个构造方法
this.sex=sex;
}
public Student(String name,Integer age,String sex,int number) {
this(name,age,sex);
this.number=number;
}
public void fun() {
System.out.println("名字:"+name+",年龄:"+age+",性别:"+sex+",学号:"+number);
}
}
public class Hello {
public static void main(String[] args) {
//使用有参数的构造方法实例化对象
Student s= new Student("李四",20,"女",10086);
s.fun();
}
}
名字:李四,年龄:20,性别:女,学号:10086
以上【使用this()】关键字解决了构造方法中代码的重负现象
【this必须放到构造方法的第一行】
总结:
1.【this()】在表示调用构造方法,解决构造方法中代码重复现象
2.this调用构造的时候必须放到当前构造的第一行