English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Можно ли использовать ключевое слово this в статическом методе Java?

Статические методы принадлежат этому классу и загружаются в память вместе с классом. Вы можете вызывать их, не создавая объекта (используя имя класса в качестве ссылки).

Пример

public class Sample{
   static int num = 50;
   public static void demo(){
      System.out.println("Содержание статического метода");
   }
   public static void main(String args[]){
      Sample.demo();
   }
}

Результат вывода

Содержание статического метода

Ключевое слово «this» используется для ссылки на экземпляр. Поскольку статические методы не belong к любому экземпляру,Таким образом, нельзя использовать «this» для ссылки в статических методахЕсли это не поможет, попробуйте сделать так, это вызовет ошибку компиляции.

Пример

public class Sample{
   static int num = 50;
   public static void demo(){
      System.out.println("Содержание статического метода"+this.num);
   }
   public static void main(String args[]){
      Sample.demo();
   }
}

Ошибка компиляции

Sample.java:4: ошибка: переменная this, не связанная со статическим контекстом, не может быть использована
   System.out.println("Содержание статического метода"+this.num);
                                                      ^
1 ошибка
Рекомендуется к просмотру