java中的this關鍵字
java提供了this關鍵字,this關鍵字表示該類的對象的默認引用。
this關鍵字最大的作用是,讓類的一個方法,訪問該類的另一個方法或者屬性。
先看一個不好的例子:
public class Baby
{
public void wakeUp()
{
System.out.println("寶寶醒啦");
}
public void eat()
{
Baby baby = new Baby();
baby.wakeUp();
System.out.println("吃東西");
}
}
這樣不符合邏輯。這就相當於本對象的eat方法,需要調用另一個對象的wakeUp方法。
我們看這個例子:
public class Baby
{
public void wakeUp()
{
System.out.println("寶寶醒啦");
}
public void eat()
{
this.wakeUp();
System.out.println("吃東西");
}
}
這樣就符合邏輯了。自己的eat方法,還需要自己的一個wakeUp方法。
java允許同一個對象的方法直接調用該對象的屬性或者方法,所以this可以省略。
public class Baby
{
public void wakeUp()
{
System.out.println("寶寶醒啦");
}
public void eat()
{
wakeUp();
System.out.println("吃東西");
}
}
而在靜態方法中無法使用this,因為類可以直接調用該方法,所以this無法指向合適的對象。
public class Baby
{
public void wakeUp()
{
System.out.println("寶寶醒啦");
}
public static void eat()
{
// 報錯
wakeUp();
System.out.println("吃東西");
}
}
我們再來看一個最常用的例子,就是在構造方法中使用this
public class Baby
{
private String name;
private int age;
public Baby(String name, int age)
{
super();
this.name = name;
this.age = age;
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public int getAge()
{
return age;
}
public void setAge(int age)
{
this.age = age;
}
}
最後更新:2017-04-03 20:19:32