this:当前类对象的引用
作用:
1、this. 可以调用成员变量和成员方法(不加this同样可以调用)
2、可以在构造函数中通过this()调用无参构造方法、this(name,age) 调用前面已有的有参构造方法
3、区分成员变量与局部变量重名的情况
注意:当调用构造方法的时候,this()必须放在该方法的第一行。
public class Fruit {
private String name;
private String category;
private double price;
public Fruit() {
System.out.println("无参构造");
}
public Fruit(String name) {
this();
this.name = name;
System.out.println("String name");
}
public Fruit(String name, String category, double price) {
this(name);
this.category = category;
this.price = price;
System.out.println("String name, String category, double price");
}
@Override
public String toString() {
return "Fruit [name=" + name + ", category=" + category + ", price=" + price + "]";
}
public static void main(String[] args) {
Fruit fruit = new Fruit();
System.out.println("-----------------");
Fruit fruit2 = new Fruit("apple");
System.out.println("-----------------");
new Fruit("juice","xxx",10.0);
System.out.println("-----------------");
}
结果:
无参构造
-----------------
无参构造
String name
-----------------
无参构造
String name
String name, String category, double price
-----------------