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 07:57:18
上一篇:
iBATIS批量操作
下一篇:
java關鍵字——strictfp
連載:麵向對象葵花寶典:思想、技巧與實踐(2) - 麵向對象語言發展曆史
Oracle 11g 在使用時應該啟動哪些服務?
Spring tool suite編譯不通過:Access restriction: The type XXX is not accessible
統一語言
產品經理(PM)常用原型圖設計工具
快速迭代的互聯網研發模式下測試如何突破?
ALICloudDB for PostgreSQL 試用報告 - 3 水平分庫 vs 單機 性能
阿裏雲SLB的特點
鄔迪:烏雲完成了使命 | 烏雲回憶錄(一)
WCF技術剖析之三十三:你是否了解WCF事務框架體係內部的工作機製?[上篇]