viernes, 15 de noviembre de 2013

MÉTODOS (FUNCIONES MIEMBRO) - V

Inicializadores 

Por motivos que se verán más adelante. Java todavía dispone de una tercera línea de actuación para evitar que haya variables sin inicializar correctamente. Son los inicializadores. que pueden ser static (para la clase) o de objeto. 3.5.6.1 Inicializadores static Un inicializador static es un algo parecido a un método (un bloque {...} de código, sin nombre y sin argumentos, precedido por la palabra static) que se llama automáticamente al crear la clase (al utilizarla por primera vez). 
También se diferencia del constructor en que no es llamado para cada objeto, sino una sola vez para toda la clase. Los tipos primitivos pueden inicializarse directamente con asignaciones en la clase o en el constructor, pero para inicializar objetos o elementos más complicados es bueno utilizar un inicializador (un bloque de código {...}). ya que permite gestionar excepciones3 con try...catch. Los inicializadores static se crean dentro de la clase, como métodos sin nombre, sin argumentos y sin valor de retomo, con tan sólo la palabra static y el código entre llaves {...}. 
En una clase pueden definirse varios inicializadores static. que se llamarán en el orden en que han sido definidos. 
Los inicializadores static se pueden utilizar para dar valor a las variables static. Además se suelen utilizar para llamar a métodos nativos, esto es. a métodos escritos por ejemplo en C/C++ (llamando a los métodos System.load() o System.loadLibrary(). que leen las librerías nativas). Por ejemplo:

static{
System.loadLibrary("MyNativeLibrary");
}

Inicializadores de objeto
A partir de Java 1.1 existen también inicializadores de objeto, que no llevan la palabra static. Se utilizan para las clases anónimas, que por no tener nombre no pueden tener constructor. En este caso, los inicializadores de objeto se llaman cada vez que se crea un objeto de la clase anónima.

No hay comentarios:

Publicar un comentario