¿Cómo puedo resolver "se requiere una instancia adjunta que contenga XY"?

Resuelto Jame asked hace 13 años • 3 respuestas

Estoy desarrollando una pequeña aplicación de escritorio en Netbeans. Este es mi primer programa y me enfrento a un tipo de error muy extraño. Sé que hice algo mal pero no puedo rastrear lo que estoy haciendo mal :(

Por favor ayúdenme a resolver este error.

Descripción: Tengo un paquete predeterminado Srcy estoy creando nuevas clases de Java en este paquete según sea necesario. Junto con otras clases hice una clase Xcomo esta:

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
}

Ahora necesito crear una instancia de una de las clases internas en alguna otra clase que exista en el mismo paquete, así:

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

pero recibo el siguiente error:

se requiere una instancia adjunta que contenga XY

Por favor ayúdenme a resolver este error.

Jame avatar Oct 01 '11 16:10 Jame
Aceptado

En primer lugar, debe crear un objeto de clase X (clase externa) y luego usar objX.new InnerClass()la sintaxis para crear un objeto de clase Y.

Intentar,

X x=new X();
X.Y y=x.new Y();
KV Prajapati avatar Oct 01 '2011 09:10 KV Prajapati

Quiere declarar clases internas estáticas: public static class Y.

Hugh avatar Oct 01 '2011 09:10 Hugh

Declare Y como estático para evitar crear una instancia de X.

public class X
{
    public static class Y {
    }
}
Jon_Li avatar Jun 20 '2013 10:06 Jon_Li