2016-06-17 3 views
-3

Я попытался запустить эти коды, но Netbean продолжал показывать нестационарной переменной, на которую нельзя ссылаться со статического контекста. Буду признателен за ваш ответ, если некоторые ребята кто-то может показать мне почему. Благодаря!Статические проблемы в Java

код здесь:

abstract class Bike { 

    abstract void Run(); 
} 

class Honda extends Bike { 

    void Run() { 
     System.out.println("Running Safely"); 
    } 
} 

public static void main(String arg[]) { 

    Bike obj = new Honda(); 
    obj.Run(); 

    } 

} 
+6

Статическая всегда повторяющаяся проблема с новыми пользователями заключается в том, что они абсолютно никогда не проводят предварительные исследования. Вы новичок с новым языком; просто угадай: сколько людей, где в то же самое время, и задал тот же вопрос раньше? См. Здесь http://www.tutorial4us.com/java/java-static-and-non-static-variable, например. – GhostCat

+0

Я бы предложил вам также прочитать эту статью (http://stackoverflow.com/questions/12690128/how-to-instantiate-non-static-inner-class-within-a-static-method) –

ответ

0

См, «это» ключевое слово относится к текущему объекту из-за которой метод находится под excecution. Как, вы не можете вызвать статический метод, используя экземпляр класса. Поэтому «этот» нельзя использовать в приведенном выше примере в статическом методе, поскольку он пытается распечатать текущий экземпляр, который вообще не создан. Поэтому, я думаю, именно поэтому возникает ошибка времени компиляции, которую вы получаете.

Смежные вопросы