回覆列表
  • 1 # 淺析架構

    編譯就不能透過,因為main方式是靜態方法,而this是指代某個物件,靜態方法的呼叫是可以不建立物件呼叫的,也就沒有物件,所以不能使用this關鍵字

  • 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、最簡單的原因就是編譯不透過。

  • 中秋節和大豐收的關聯?
  • 為什麼塗完護膚品按摩後,臉感覺有點熱熱的呢?