Ответ 1
Прежде всего вам нужно создать объект класса X (внешний класс), а затем использовать синтаксис objX.new InnerClass()
для создания объекта класса Y.
Попробуйте,
X x=new X();
X.Y y=x.new 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 требуется
Пожалуйста, помогите мне в устранении этой ошибки.
Прежде всего вам нужно создать объект класса X (внешний класс), а затем использовать синтаксис objX.new InnerClass()
для создания объекта класса Y.
Попробуйте,
X x=new X();
X.Y y=x.new Y();
Вы хотите объявить статические внутренние классы: public static class Y
.
Объявить Y как статический, чтобы избежать создания экземпляра X.
public class X
{
public static class Y {
}
}