Подтвердить что ты не робот

Как я могу разрешить "вмещающий экземпляр, содержащий X.Y, требуется"?

Я разрабатываю небольшое настольное приложение в Netbeans. Это моя первая программа, и я столкнулся с очень странным типом ошибок. Я знаю, что я сделал что-то неправильно, но не смог проследить, что я делаю неправильно: (

Пожалуйста, помогите мне в устранении этой ошибки.

Описание: У меня есть пакет по умолчанию Src, и я создаю новые классы Java в этом пакете по мере необходимости. Наряду с другими классами я сделал класс X следующим образом:

public class X
{
    public class Y
    {//some member functions and variables exist here}

    public class Z
    {//some member functions and variables exist here}

    //some member functions and variables exist here
}

Теперь мне нужно создать экземпляр одного из внутренних классов в каком-то другом классе, который существует в одном пакете, например:

public X.Y oY = new X.Y();

но я получаю следующую ошибку:

обязательный экземпляр, содержащий X.Y требуется

Пожалуйста, помогите мне в устранении этой ошибки.

4b9b3361

Ответ 1

Прежде всего вам нужно создать объект класса X (внешний класс), а затем использовать синтаксис objX.new InnerClass() для создания объекта класса Y.

Попробуйте,

X x=new X();
X.Y y=x.new Y();

Ответ 2

Вы хотите объявить статические внутренние классы: public static class Y.

Ответ 3

Объявить Y как статический, чтобы избежать создания экземпляра X.

public class X
{
    public static class Y {
    }
}