一、调用同一个类中的属性/方法,前面加上this.XXX;
二、同一类中的构造方法互相调用(一定要保留至少一个出口)
public class TestThis {
public static void main(String args[]) {
Book b1 = new Book();
Book b2 = new Book("NP");
Book b3 = new Book("NP2", 19.5, 20);
System.out.println(b1.setInfo());
System.out.println(b2.setInfo());
System.out.println(b3.setInfo());
}
}
class Book {
private String name;
private double price;
private int no;
public Book() {
/*
this.name = "No";
this.price = 0.0;
this.no = 0;
*/
this("No", 0.0, 0);
}
public Book(String name) {
/*
this.name = name;
this.price = 10.1;
this.no = 10;
*/
this(name, 10.1, 10);
}
public Book(String name, double price, int no) {
this.name = name;
this.price = price;
this.no = no;
}
public String setInfo(){
return "Name " + this.name + ", price " + this.price + ", No " + this.no;
}
}
三、表示当前对象
public class TestThis {
public static void main(String args[]) {
Book b1 = new Book();
Book b2 = new Book();
System.out.println(b1);
System.out.println(b2);
b1.print();
b2.print();
}
}
class Book {
public void print(){
System.out.println(this);
}
}