�Qu� declaraci�n de variable est� escrita incorrectamente?
La sentencia double amount = 80.11 es incorrecta porque no tiene el punto y coma al final de la declaraci�n. Todas las sentencias, incluidas las declaraciones, deben terminar en un punto y coma. La sentencia deber�a aparecer como:
double amount = 80.11;
�Tipos de Variables
Al lenguaje de programaci�n Java algunas veces se le llama un lenguaje fuertemente tipado porque debemos declarar las variables como de un tipo espec�fico antes de utilizarlas. Una variable puede ser de uno de estos dos tipos b�sicos:
- Tipo Primitivo
- Tipo Referencia
Tipo Primitivo
Primitivo, o simplemente, tipo son los �nicos tipos que no son objetos:
Los siguientes son primitivos:
- N�meros enteros como byte, short, int, y long
- N�meros en coma flotantes como double y float
- Caracteres representando letras y n�meros char
- Boolean, que es un tipo que representa valores true o false
En otras palabras, los primitivos son lo que comunmente llamamos, n�meros, caracteres simples o verdadero(true) o falso. Los n�meros tambi�n pueden ser representados como un String, pero si declaramos un n�mero como un String, no podremos realizar operaciones m�tem�ticas sobre �l, y se convierte en un objeto del tipo String.
Tambi�n, siempre que los n�meros sean introducidos desde la l�nea de comandos o en un GUI, la entrada es aceptada como un objeto String que debe ser covertido para hacer c�lculos. Unas clases especiales llamadas envolturas se utilizan para hacer esta conversi�n y las veremos m�s adelante en este tutorial.
Como los tipos primitivos no son objetos, los declaramos en un proceso de un s�lo paso:
int month; //declaraci�n sin valor int month = 10; //declaraci�n con un valor asignado de 10
Tipos Referencia
Los tipos referencia normalmente se refieren a objetos predefinidos, como clases que forman parte de la librer�a J2SE. Los tipos referencia tambi�n podr�an referirse a clases dise�adas especificamente por el programador para su aplicaci�n. El t�rmino tipo clase frecuentemente se usa como sin�nimo de tipo referencia.
Como por ejemplo:
Font monoFont = new Font("Courier", Font.PLAIN, 12);
El nombre de la variable de referencia monoFont se refiere a la clase Font, una clase predefinida en la librer�a Java. Para declarar y ejemplarizar, o crear un objeto Font, se usa la palabra clave new. En este caso, tambi�n se incluye informaci�n, como el nombre de la fuente, el estilo y el tama�o. La informaci�n incluida se llama par�metros. En otras palabras, se crea y se pone en memoria un objeto Font con detalles espec�ficos.
�Qu� son los Par�metros? |
---|
Los par�metros aparecen entre par�ntesis "()" siguiendo al nombre del m�todo o de la clase, especificando el tipo
del valor que puede ser pasado:
methodName(type variableName, type variableName2) El par�metro es la informaci�n que pasamos a una nueva clase para construir un objeto, o a un m�todo para usarla. |
Muchas de las clases predefinidas proporcionadas por la librer�a Java se crean de esta forma. Si queremos ejemplarizar una clase predefinida en nuestra aplicaci�n, usamos la Java API documentation para encontrar exactamente como llamar a esa clase desde nuestra aplicaci�n. La documentaci�n tiene m�s sentido cuando se entienden los constructores y los m�todos, que se explican m�s adelante en este tutorial.
En DiveLog.java, se declaran dos variables justo despu�s del corchete abierto:
Sigue estos pasos... |
---|
|
JFrame y JTabbedPane son tipos referencia. En este caso, las variables dlframe y tabbedPane se refieren a clases del paquete javax.swing. En estas declaraciones, los objetos no se han creado todav�a. Por ahora, este c�digo s�lo le dice al compilador que reserve algo de memoria para estas dos variables. M�s adelante en el c�digo, se ejemplarizar�n o crear�n los objetos de las clases JFrame y JTabbedPane, para construir un marco para la aplicaci�n Dive Log, con un tabbed pane incluido.
�Atributos de Acceso
En el fragmento de c�digo anterior, observa las palabras private. Este es un atributo de acceso que le dice al compilador si otros paquetes o clases tienen acceso a esta variable. En este caso, las variables dlframe y tabbedPane han sido declaradas como private, lo que las hace ascesibles s�lo para esta clase, y no accesibles para todas las dem�s clases o paquetes.
Los atributos de acceso tambi�n se usan con clases, como en la clase DiveLog, que ha sido declarada public, haci�ndola accesible para cualquier clase o paquete. Los atributos de acceso tambi�n se usan con m�todos.
La siguiente tabla lista los atributos de acceso y los privilegios de acceso que permiten:
Atributo | Acceso |
---|---|
Si no se especifica ninguno | Default o package, lo que significa desde cualquier clase del mismo paquete |
public | Desde cualquier clase o paquete |
private | S�lo desde dentro de est� clase en part�cular |
protected | S�lo desde cualquier clase del mismo paquete |
Veremos m�s cosas sobre las variables y los atribuos de acceso cuando creemos clases para el Dive Log. Lo importante a tener en mente es que a las variables que hemos declarado hasta ahora s�lo puede accederse desde la clase DiveLog.java, y que todav�a no les hemos asignado ning�n valor. S�lo han sido declaradas como un tipo referencia, espec�fico de las clases JFrame y JTabbedPane. Hasta que se use la palabra clave new para ejemplarizarlos, todav�a no son objetos en memoria.
La ejemplarizaci�n de JFrame y JTabbedPane ocurre dentro de un m�todo. Como se mencion� anteriormente, los m�todos hacen que algo suceda. Los m�todos ejemplarizan objetos, realizan c�lculos matem�ticos, y mucho m�s.
�Construir Objetos
Un importante tipo de m�todo a entender es un m�todo especial llamado constructor. El principal prop�sito de un constructor es seleccionar el estado inicial de un objeto cuando este es creado, o ejemplarizado. Una clase detalla los datos que contiene un objeto y con los que puede trabajar, los m�todos que usa para trabajar con los datos, y un constructor que dice c�mo se va a construir el objeto.
Los constructores son iguales que los otros m�todos con algunas diferencias, que se describen en la p�gina siguiente.
Usa el constructor DiveLog como gu�a para responder a la siguiente pregunta:
public DiveLog() { . . . // Estos puntos indican que se ha omitido // el c�digo por brevedad. }
�Qu� constructor est� escrito incorrectamente? |
---|