Я создал нестатический внутренний класс как это:Должен ли внутренний класс быть статическим в Java?
class Sample {
public void sam() {
System.out.println("hi");
}
}
я назвал его main
способа, как это:
Sample obj = new Sample();
obj.sam();
Это дало ошибку компиляции: non-static cannot be referenced from a static context
Когда я объявил нестатические внутренний класс как статический, он работает. Почему это так?
Возможно, вы могли бы показать нам больше кода, например, окружающего класса. Пожалуйста, укажите пример, который люди могут просто скопировать + вставить, чтобы попробовать сами. –
есть ** огромная ** разница между «ошибкой компиляции» и «исключением». Пожалуйста, обратите внимание на это :) Я также включил фактическое сообщение об ошибке вместо неопределенной фразы «нестатический класс класса или что-то в этом роде». Также обратите внимание на это в будущих вопросах :) – BalusC