Una clase en Java puede contener variables y métodos. Las variables pueden ser tipos primitivos como int, char, etc. Los métodos son funciones.
Por
ejemplo, en el siguiente trozo de código podemos observarlo:
public MiClase { int i; public MiClase() { i = 10; } public void Suma_a_i( int j ) { i = i + j; } }
La
clase MiClase contiene una variable (i) y dos métodos, MiClase que
es el constructor de la clase y Suma_a_i( int j ).
Ambito de una
variable
Los
bloques de sentencias compuestas en Java se delimitan con dos llaves. Las
variables de Java sólo son válidas desde el punto donde están declaradas hasta
el final de la sentencia compuesta que la engloba. Se pueden anidar estas
sentencias compuestas, y cada una puede contener su propio conjunto de
declaraciones de variables locales. Sin embargo, no se puede declarar una
variable con el mismo nombre que una de ámbito exterior.
El
siguiente ejemplo intenta declarar dos variables separadas con el mismo nombre.
En C y C++ son distintas, porque están declaradas dentro de ámbitos diferentes.
En Java, esto es ilegal.
Class Ambito { int i = 1; // ámbito exterior { // crea un nuevo ámbito int i = 2; // error de compilación } }
Métodos y
Constructores
Los
métodos son funciones que pueden ser llamadas dentro de la clase o por otras
clases. El constructor es un tipo específico de método que siempre tiene el
mismo nombre que la clase.
Cuando
se declara una clase en Java, se pueden declarar uno o más constructores
opcionales que realizan la inicialización cuando se instancia (se crea una
ocurrencia) un objeto de dicha clase.
Utilizando
el código de ejemplo anterior, cuando se crea una nueva instancia de MiClase,
se crean (instancian) todos los métodos y variables, y se llama al constructor
de la clase:
MiClase mc; mc = new MiClase();
La
palabra clave new se usa para crear una instancia de la clase.
Antes de ser instanciada con new no consume memoria,
simplemente es una declaración de tipo. Después de ser instanciado un nuevo
objeto mc, el valor de i en el objeto mc será igual a 10. Se
puede referenciar la variable (de instancia) i con el nombre del
objeto:
mc.i++; // incrementa la instancia de i de mc
Al tener mc todas las variables y métodos de MiClase, se puede usar
la primera sintaxis para llamar al método Suma_a_i() utilizando el nuevo nombre de clase mc:
mc.Suma_a_i( 10 );
y ahora la variable mc.i vale 21.
Finalizadores
Java
no utiliza destructores (al contrario que C++) ya que tiene una forma de
recoger automáticamente todos los objetos que se salen del alcance. No obstante
proporciona un método que, cuando se especifique en el código de la clase, el
reciclador de memoria (garbage collector) llamará:
// Cierra el canal cuando este objeto es reciclado protected void finalize() { close(); }

Comentarios
Publicar un comentario