miércoles, 19 de enero de 2011

Uso de Subclases en JAVA

Se presenta un ejemplo en donde se presenta el uso de subclases, dentro de la clase principal y fuera del ámbito de la clase principal.

La clase principal se identifica por que es la unica que se declara con la palabra reservada public.



/**
* @author lchinchilla
* @date 19/01/2011
*
* Uso de subclases dentro de un mismo archivo *.java
*
* Palabras claves: public, class, package, this, método main
*
*/
public class Subclases {

/**
* definición de mi primer subclase dentro de la clase principal
* Observese que la clase es estatica ya que al declararse en el metodo main se requiere
*/
static class MiPrimerSubclase {

//Construtor MiPrimerSubclase
public MiPrimerSubclase() {
System.out.println("MiPrimerSubclase: Estoy dentro de la clase principal");
}
/**
* nota: MiPrimerSubclase solo existe en el ambito de la clase principal, es decir, NO
* podriamos hacer una instancia de esta clase dentro de la subclase MiSegundaSubclase
*/
}

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
//Instancias de mis subclases.
//sublase que esta dentro del ambito de la clase principal
MiPrimerSubclase subclase1 = new MiPrimerSubclase();

//subclase que esta fuera del ambito de la clase principal
MiSegundaSubclase subclase2 = new MiSegundaSubclase();


}
}


/**
* definición de mi primer subclase fuera de la clase principal
* Notese: que ya existe una subclase MiPrimerSubclase, pero la anterios solo existe en el ambito de la clase principal.
* otra diferencia es que esta no es requerido que se declare estatica
*/
class MiPrimerSubclase {

//Construtor MiPrimerSubclase
public MiPrimerSubclase() {
System.out.println("MiPrimerSubclase: Estoy fuera de la clase principal");
}
}

/**
* definición de mi segunda subclase fuera de la clase principal
*/
class MiSegundaSubclase {

//Construtor MiSegundaSubclase
public MiSegundaSubclase() {
System.out.println("MiSegundaSubclase: Estoy fuera de la clase principal");

//Llamando una subclase dentro de otra
MiPrimerSubclase subclase3 = new MiPrimerSubclase();
}
}

No hay comentarios:

Publicar un comentario