La primera línea de una clase identifica el nombre de la clase, las
clases de las que hereda, las interfaces que implementa, las
excepciones que puede lanzar y los parámetros utilizados para
referir tipos.
Miembros
Se pueden clasificar en datos miembros y funciones miembros, también conocidos
como propiedades y métodos. Cabe decir que en Java tanto las propiedades como
los métodos pueden corresponder a instancias de la clase (objetos) o a la propia
clase (con valores y comportamientos comunes para todos los objetos de la clase).
Clases internas
Clases que se definen dentro de
otras clases. Normalmente se
utilizan para crear clases
fuertemente ligadas con la clase
huésped. Estas clases internas
pueden incluso ser anónimas,
derivando de otra que le
proporciona una interfaz con el
resto del código.
Una clase interna es una clase que se declara dentro de
otra. Para ser más precisos, su declaración se puede realizar
dentro del ámbito de la clase o incluso dentro de un método.
Su principal utilidad consiste en encapsular la definición de
la clase para restringir su uso o su visibilidad. En general las
clases internas tienen varias particularidades:
No se permite declarar miembros estaticos en ellas - Para
crear un objeto de una clases interna es necesario que se
haga desde una instancia de la clase contenedora -
Bloques de
inicialización
Conjuntos de instrucciones
encargadas de iniciar las
propiedades de la clase.
Java se encarga de que
estos bloques se ejecuten
convenientemente antes de
crear los objetos de la clase.
Creacion de Objetos
crear un objeto en Java se usa la palabra reservada new
seguida del nombre de la clase y unos paréntesis. En esta
operación se está invocando al constructor de la clase. Los
constructores son métodos especiales que se ejecutan
cuando se crea un objeto y que se utilizan para iniciar las
propiedades del objeto.
Destruccion de Objetos
se realiza de manera automática mediante un
mecanismo conocido como la recolección de basura.
Para ello la máquina virtual de Java revisa de manera
periódica los bloques de memoria reservados
buscando aquellos que no están siendo referenciados
por ninguna variable para liberarlos.