回覆列表
-
1 # 淺析架構
-
2 # java技術實戰
在Java中一個類的方法有主要有兩種表現形式,一種是類的例項方法,一種是類的靜態方法。如下面的Java類:
public class User {
private String name;
public void setName(String name) {
this.name
= name;
}
public static void main(String[] args) {
User user = new User();
user.setName("小明")
}
}
setName方法為類的例項方法,main方法為類的靜態方法,可以看到setName方法可以使用this類訪問類的例項欄位。主要原因是:this表示類的物件例項本身,只能當一個類被例項化(透過new)後,才可以在物件例項中使用this。而類的靜態方法是不需要進行例項化就可以使用的,而沒有例項化前是不能使用this。
-
3 # jimware
不能,
1、main方法是靜態static,也就是在類載入的時候已經初始化化到記憶體,它的例項是類例項
2、this表示當前例項,main方法和this代表的是不同的例項。
3、this一般不能用在靜態方法和靜態模組中
4、最簡單的原因就是編譯不透過。
編譯就不能透過,因為main方式是靜態方法,而this是指代某個物件,靜態方法的呼叫是可以不建立物件呼叫的,也就沒有物件,所以不能使用this關鍵字