Date hoy = new Date();
Esta primera línea del método main() declara, instancia e inicializa un
objeto de tipo Date, hoy. Date hoy indica al
compilador que la palabra hoy será utilizada en adelante para
referirse a un objeto cuyo tipo es Date, el operador new instancia un
nuevo objeto Date y Date() inicializa el objeto. El constructor utilizado
para inicializar al objeto hoy es el constructor por defecto que
inicializa a los objetos de tipo Date, que los carga con la fecha y hora actual
del sistema.
Las declaraciones pueden aparecer como parte de la creación del objeto como en este caso, o pueden también aparecer solas:
Date hoy;
De cualquier modo, la declaración de un objeto siempre será de la forma:
tipo nombre
Donde tipo puede ser un tipo de dato simple como int, float o boolean, o un tipo de datos más complejo como en este caso la clase Date. nombre es la palabra que se utilizará para reconocer la variable. Las declaraciones simplemente informan al compilador de que se usará la palabra nombre para referirse a una variable del tipo tipo. Las declaraciones no realizan la instanciación del objeto, para instanciar un objeto de tipo Date, o cualquier otro objeto, es necesario utilizar el operador new.
El operador new instancia un nuevo objeto reservando memoria para él. Requiere un solo argumento: el método constructor para el objeto que se creará. Es este método constructor el responsable de la inicialización del nuevo objeto.
Las clases deben proporcionar métodos para inicializar nuevos objetos de ese tipo. En una declaración de clase, los constructores se pueden distinguir del resto de métodos porque tienen el mismo nombre de la clase y no devuelven ningún valor. Por ejemplo, el método constructor de objetos Date que usamos en FechaApp es:
Date()
que no tiene ningún argumento, por lo cual recibe el nombre de contructor por defecto. Al igual que Date, la mayoría de las clases tienen al menos un constructor, el constructor por defecto; sin embargo, las clases pueden tener múltiples constructores, todos ellos con el mismo nombre de la clase y distinto número y tipo de argumentos. Por ejemplo, la clase Date soporta un constructor que necesita tres parámetros de entrada:
Date( int año,int mes,int dia )
que inicializa el nuevo objeto Date con el año, mes y día que se especifican
en esos tres parámetros.
|
|
[Anterior] [Indice] [Siguiente] |