Crear instancia de una clase en JAVA

Iniciado por ars1993, 14 Febrero 2014, 19:37 PM

0 Miembros y 1 Visitante están viendo este tema.

ars1993

Buenas! Tengo el siguiente código en JAVA:


public class Person{
      public class Address{
      }
}


Ya sé que no tiene constructor pero solamente lo pongo para dar la idea de lo que tengo. Una classe dentro de otra.

Cómo puedo crear una instancia de la clase Address? He probado con el "new" de siempre:

Address address1 = new Address();


Pero el intento no ha tenido éxito. Alguien me puede decir como lo debo hacer? Gracias! :D
640k deberian ser suficientes para todo el mundo..

egyware

Si no mal recuerdo seria algo asi...


Código (java) [Seleccionar]

Person person = new Person();
Person.Address addres = new person.Address();


En realidad no estoy seguro ya que esas clases internes solo tienen valides dentro del misma misma clase y ahi puedes invocarlas como si fuese una clase normal.
Te recomiendo que leas sobre las clases internas y sus usos.

Código (java) [Seleccionar]

public class Person
{
   public static class Address{
  }
}
//----
Person.Address address = new Person.Address();


Hay un detalle sobre las clases internas y clases internas estáticas, las clases internas comparten las variables de la clase contenedora por eso creo yo deben ser instanciadas con un objeto (ver primer ejemplo), y las clases estaticas no, debido que ellas no comparten las variables de las clase contenedora.
Sinceramente siempre he hecho esto y me ha funcionado de maravilla:

Código (java) [Seleccionar]

public class Person
{
    public class Address
    {
    }
     public void metodo()
     { 
        Adress adress = new Address();
     }
}


Saludos!

Yaldabaot

No comprendo mucho lo que quieres hacer, pero podrías usar un extends para heredar desde la super clase y así poder tener acceso a sus atributos.
Nunca me contestan -_-