class Base {
Base show() {
System.out.println("Base");
return new Base();
}
class Child4 extends Base {
Child4 show() {
System.out.println("Child4");
return new Child4();
}
}
public static void main(String... s) {
Child4 C1 = new Child4();
C1.show();
}
}
-2
A
ответ
0
В вашем примере Child4
не является статическим внутренним классом класса Base
(см here документации на внутренних классов). Это означает, что вам нужен экземпляр класса Base
, чтобы создать объект класса Child4
.
Поскольку в вашем примере нет доступа из экземпляра Child4
к внешнему экземпляру Base
, кажется, что использование нестатического внутреннего класса не предназначено. Вы должны объявить этот внутренний класс статического, с
static class Child4 extends Base {
Таким образом, вызов new Child4
будет законен от main
статического контекста.
Смежные вопросы
- 1. ошибка: нестатический метод PostFixConverter (String) нельзя ссылаться из статического контекста
- 2. Ошибка BlueJ: нестатический метод (OOPoint) нельзя ссылаться из статического контекста
- 3. setDisplayHomeAsUpEnabled() ошибка: нестатический метод нельзя ссылаться из статического контекста
- 4. Java нестатический метод playCompletely нельзя ссылаться из статического контекста
- 5. setBackground(): нестатический метод нельзя ссылаться из статического контекста
- 6. Начало деятельности. Нестатический метод нельзя ссылаться из статического контекста
- 7. Нестатический метод move (int, int) нельзя ссылаться из статического контекста
- 8. Нестатический метод isGooglePlayServicesAvailable и getErrorDialog нельзя ссылаться из статического контекста
- 9. Как работать «нестатический класс T нельзя ссылаться из статического контекста»?
- 10. Как ссылаться на нестатический метод findViewById из статического контекста?
- 11. Java - Нестатический метод не может ссылаться из статического контекста
- 12. нестатический метод openInputFile (String), нельзя ссылаться из статического Contex Java
- 13. нестатический метод аннота ссылается из статического контекста
- 14. нестатический метод getIntent() не может ссылаться из статического контекста
- 15. нестатический метод не может ссылаться из статического контекста
- 16. Нестатический метод toString не может ссылаться из статического контекста
- 17. нестатический метод не может ссылаться из статического контекста
- 18. нестатический метод setPrzechowaj (java.lang.String) не может ссылаться froma статического контекста
- 19. Android - executePendingTransactions нельзя ссылаться из статического контекста
- 20. Activity.this нельзя ссылаться из статического контекста
- 21. Java - нельзя ссылаться из статического контекста
- 22. Нестатический метод нельзя ссылаться из статического контекста, но ничего не статично
- 23. не статический метод ... нельзя ссылаться из статического контекста
- 24. нестатическая метод generatePublic (KeySpec) нельзя ссылаться из статического контекста
- 25. «Non-статический метод не может ссылаться из статического контекста» ошибки
- 26. Нестационарный метод может ссылаться из статического контекста
- 27. Нестатический метод не может быть ссылкой из статического контекста
- 28. В чем причина «нестатического метода нельзя ссылаться из статического контекста»?
- 29. Проблема с «нестационарным методом нельзя ссылаться из статического контекста» error
- 30. «Нестатический метод не может быть referencd из статического контекста» - Java
Hi Disha. Добро пожаловать в переполнение стека. Пожалуйста, попробуйте понять ваш вопрос: что вы пытаетесь с кодом, который вы опубликовали? Вы получаете сообщение об ошибке, или код ведет себя по-другому, чем вы думаете? Как вы думаете, что он должен делать, и какое поведение вы наблюдали? –
Не вставляйте класс Child4 в базовый класс. Используйте два разных файла: по одному для каждого класса. –
Возможный дубликат [нестатическая переменная не может ссылаться на статический контекст] (http://stackoverflow.com/questions/2559527/non-static-variable-cannot-be-referenced-from-a-static-context) – csmckelvey