0
Я узнал, что к статическому вложенному классу следует обращаться как к полю внешнего класса (строка 2). Но даже создание экземпляра внутреннего класса напрямую работало (строка 1). Не могли бы вы помочь мне разобраться?Пути доступа к статическому вложенному классу в Java
public class OuterClass
{
public OuterClass()
{
Report rp = new Report(); // line 1
OuterClass.Report rp1 = new OuterClass.Report(); // line 2
}
protected static class Report()
{
public Report(){}
}
}
Несвязанный, но, пожалуйста, подумайте о нормализации своего отступа. В любом случае вы получаете доступ к нему изнутри содержащего класса, поэтому нет необходимости префикс его с помощью 'OuterClass'. Это когда вы получаете доступ к открытому внутреннему классу из * снаружи * содержащего класса, который вам нужно квалифицировать. –
также не связаны: «Отчет()» должен быть «Отчет» – Addi
@Addi Я не понимаю. новый Report() будет вызывать конструктор по умолчанию для класса отчетов для правильного создания экземпляра? –