this调用普通方法。
class Book{
private String title;
private double price;
public Book(String title,double price){
this.title=title;
this.price=price;
}
public void setTitle(String t){
title=t;
}
public String getTitle(){
return title;
}
public void setPrice(double p){
price=p;
}
public double getPrice(){
return price;
}
public void print(){
System.out.println("********************");
}
public String getInfo(){
this.print();
return "shuming:"+title+"jiage:"+price;
}
}
public class TestDemo{
public static void main(String args[]){
Book book=new Book("java",89.9);
System.out.println(book.getInfo());
}
}
上面的代码中在本类中调用普通方法。print前面加或不加this并没有什么区别。但是为了代码的严谨性。一定要加上this。
class Book{
private String title;
private double price;
public Book(){
System.out.println("********************");
}
public Book(String title){
this();
this.title=title;
}
public Book(String title,double price){
this(title);
this.title=title;
this.price=price;
}
public void setTitle(String t){
title=t;
}
public String getTitle(){
return title;
}
public void setPrice(double p){
price=p;
}
public double getPrice(){
return price;
}
public String getInfo(){
return "shuming:"+title+"jiage:"+price;
}
}
public class TestDemo{
public static void main(String args[]){
Book book=new Book("java",89.9);
System.out.println(book.getInfo());
}
}
上面代码实现在构造方法中调用构造方法。也可以用this直接调用。可以调用有参的。也可以调用无参的。调用的时候一定要留出口。也就是说在我们用this()相互调用的时候至少要保留一个没有采用调用方法。