Java World
La estructura del operador ternario ?: es la siguiente:
resultado = (condicion)?valor1:valor2;
Donde a la variable resultado recibirá el valor1 enel caso de que la condición sea true o bien el valor2 en el caso de que la condición sea false.
Así, si queremos calcular el mayor de dos números tendremos el siguiente código:
1.mayor=(x>y)?x:y;
Método finalize()
Antes de que un objeto sea recolectado por el recolector de basura, el sistema llama al método finalize(). La intención de este método es liberar losrecursos del sistema, como ficheros o conexiones abiertas antes de empezar la recolección.
Una clase puede proporcionar esta finalización simplemente definiendo e implementando un método llamadofinalize(). El método finalize() debe declararse de la siguiente forma.
protected void finalize () throws throwable
Esta clase abre un fichero cuando se construye.
class AbrirUnFichero {FileInputStream unFichero = null;
AbrirUnFichero (String nombreFichero) {
try {
unFichero = new FileInputStream(nombreFichero);
} catch (java.io.FileNotFoundException e) {System.err.println("No se pudo abrir el fichero " + nombreFichero);
}
}
}
Para un buen comportamiento, la clase AbrirUnFichero debería cerrar el fichero cuando haya finalizado.Aquí tienes el método finalize() para la clase AbrirUnFichero.
protected void finalize () throws throwable {
if (unFichero != null) {
unFichero.close();
unFichero = null;}
}
El método finalize() está declarado en la clase java.lang.Object. Así cuando escribas un método finalize() para tus clases estás sobreescribiendo el de su superclase. En Sobreescribir Métodosencontrarás más información sobre la sobreescritura de métodos.
Si la superclase tiene un método finalize(), probablemente este método deberá llamar al método finalize() de su superclase después de...
Regístrate para leer el documento completo.