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

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

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

Где в Java " super " в статическом методе. Это означает, что для использования метода "super" его должен вызывать объект, а статический метод не является объектом.

Таким образом, не может быть использовано ключевое слово " super "ключевое слово".

Пример

В следующем примере Java программа ThisExample содержит класс с методами setter и getter и экземплярным методомdisplay()частная переменнаяИмя。От метода main (статический метод), мы пытаемся использовать ключевое слово this для вызова метода display().

class SuperClass{
   protected String name;
}
public class SubClass extends SuperClass {
   private String name;
   public static void setName(String name) {
      super.name = name;
   }
   public void display() {
      System.out.println("name: " + super.name);
   }
   public static void main(String args[]) {
      new SubClass().display();
   }
}

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

SubClass.java:7: ошибка: нестатическая переменная super не может быть ссылана из статического контекста
   super.name = name;
   ^
1 ошибка
Рекомендуется к просмотру