Se puede considerar un programa Java como una colección de objetos que funcionan juntos invocando los métodos de cada uno. A continuación se presentan brevemente los conceptos de clases, objetos, métodos y variables de instancia.
Objeto : un objeto es una instancia de una clase y tiene estado y comportamiento. Por ejemplo, un perro es un objeto. Su estado incluye: color, nombre y raza, sus comportamientos incluyen: mover la cola, ladrar, comer, etc.
Clase : una clase es una plantilla que describe el comportamiento y el estado de una clase de objetos.
Método : el método es un comportamiento y una clase puede tener muchos métodos. Las operaciones lógicas, la modificación de datos y todas las acciones se completan en métodos.
Variables de instancia : cada objeto tiene variables de instancia únicas y el estado del objeto está determinado por los valores de estas variables de instancia.
Veamos un programa Java simple que imprimirá la cadena Hola Mundo.
clase pública MiPrimerProgramaJava {
/* El primer programa Java.
* Imprimirá la cadena Hola Mundo
*/
principal vacío estático público (cadena [] argumentos) {
System.out.println("Hola mundo"); // Imprimir Hola mundo
}
}
Aquí hay una guía paso a paso sobre cómo guardar, compilar y ejecutar este programa:
Abra el Bloc de notas y agregue el código anterior;
Guarde el nombre del archivo como: MyFirstJavaProgram.java;
Abra la ventana de comando cmd e ingrese la ubicación del archivo de destino, asumiendo que es C:
Escriba javac MyFirstJavaProgram.java en la ventana de la línea de comando y presione Intro para compilar el código. Si no hay errores en el código, el símbolo del sistema cmd avanzará a la siguiente línea. (Suponiendo que todas las variables de entorno estén configuradas).
Luego escriba java MyFirstJavaProgram y presione la tecla Enter para ejecutar el programa.
Verás Hola mundo en la ventana.
C:> javac MiPrimerProgramaJava.java
C:> java MiPrimerProgramaJava
Hola Mundo
Al escribir programas Java, se debe prestar atención a los siguientes puntos:
Sensibilidad entre mayúsculas y minúsculas : Java distingue entre mayúsculas y minúsculas, lo que significa que los identificadores Hola y hola son diferentes.
Nombre de clase : para todas las clases, la primera letra del nombre de la clase debe estar en mayúscula. Si el nombre de la clase consta de varias palabras, la primera letra de cada palabra debe estar en mayúscula, por ejemplo, MyFirstJavaClass.
Nombres de métodos : todos los nombres de métodos deben comenzar con una letra minúscula. Si el nombre del método contiene varias palabras, la primera letra de cada palabra subsiguiente se escribe en mayúscula.
Nombre del archivo fuente : el nombre del archivo fuente debe ser el mismo que el nombre de la clase. Al guardar el archivo, debe utilizar el nombre de la clase como nombre de archivo (recuerde que Java distingue entre mayúsculas y minúsculas) y el sufijo de nombre de archivo .java. ( Si el nombre del archivo y el nombre de la clase son diferentes, se producirá un error de compilación ).
Entrada del método principal : todos los programas Java inician la ejecución desde public static void main(String [] args)
.
Todos los componentes de Java requieren nombres. Los nombres de clases, nombres de variables y nombres de métodos se denominan identificadores.
Con respecto a los identificadores de Java, hay que tener en cuenta los siguientes puntos:
Todos los identificadores deben comenzar con una letra (AZ o az), un signo de dólar ($) o un guión bajo (_).
El primer carácter puede ir seguido de cualquier combinación de letras (AZ o az), signos de dólar ($), guiones bajos (_) o números.
Las palabras clave no se pueden utilizar como identificadores.
Los identificadores distinguen entre mayúsculas y minúsculas
Ejemplos de identificadores legales: edad, $salario, _valor, __1_valor
Ejemplos de identificadores ilegales: 123abc, -salary
Al igual que otros lenguajes, Java puede utilizar modificadores para modificar métodos y propiedades en clases. Hay dos tipos principales de modificadores:
Modificadores de control de acceso: predeterminado, público, protegido, privado
Modificadores de control que no son de acceso: final, abstracto, estático, sincronizado y volátil
Analizaremos los modificadores de Java en profundidad en capítulos posteriores.
Existen principalmente los siguientes tipos de variables en Java:
variables locales
Variables de clase (variables estáticas)
Variables miembro (variables no estáticas)
Las matrices son objetos almacenados en el montón y pueden almacenar múltiples variables del mismo tipo. En capítulos posteriores, aprenderemos cómo declarar, construir e inicializar una matriz.
Java 5.0 introdujo enumeraciones, que restringen las variables a valores preestablecidos. El uso de enumeraciones puede reducir los errores en su código.
Por ejemplo, diseñamos un programa para una tienda de jugos que limitará el jugo a tazas pequeñas, medianas y grandes. Eso significa que no permite a los clientes pedir jugos que no sean esos tres tamaños.
clase Jugo fresco {
enum FreshJuiceSize{ PEQUEÑO, MEDIANO, GRANDE }
Tamaño de FreshJuiceSize;
}
clase pública PruebaJugoFresco {
principal vacío estático público (String args []) {
Jugo FreshJuice = nuevo FreshJuice();
jugo.tamaño = FreshJuice.FreshJuiceSize.MEDIUM;
}
}
Nota: Las enumeraciones se pueden declarar individualmente o dentro de una clase. Los métodos, variables y constructores también se pueden definir en enumeraciones.
Las palabras reservadas de Java se enumeran a continuación. Estas palabras reservadas no se pueden utilizar en los nombres de constantes, variables ni ningún identificador.
Palabras clave | describir |
---|---|
abstracto | Métodos abstractos, modificadores de clases abstractas. |
afirmar | Confirmar si se cumple la condición. |
booleano | tipo de datos booleanos |
romper | Salir del bucle o del segmento de código de etiqueta |
byte | Tipo de datos firmados de 8 bits |
caso | Una condición de la declaración de cambio. |
atrapar | Úselo para intentar capturar información de excepción. |
carbonizarse | Tipo de datos de caracteres Unicode de 16 bits |
clase | Definir clase |
constante | No usado |
continuar | No ejecute el resto del cuerpo del bucle. |
por defecto | Rama predeterminada en la declaración de cambio |
hacer | Declaración de bucle, el cuerpo del bucle se ejecutará al menos una vez |
doble | Número de coma flotante de doble precisión de 64 bits |
demás | La rama se ejecuta cuando la condición if no es verdadera. |
enumeración | tipo de enumeración |
se extiende | Indica que una clase es una subclase de otra clase. |
final | Indica que un valor no se puede cambiar después de la inicialización. Indica que el método no se puede anular o que una clase no puede tener subclases. |
finalmente | Diseñado para completar la ejecución del código, principalmente por la solidez e integridad del programa, el código se ejecutará independientemente de si ocurre una excepción. |
flotar | Número de coma flotante de precisión simple de 32 bits |
para | para declaración de bucle |
ir a | No usado |
si | declaración condicional |
implementos | Indica que una clase implementa la interfaz. |
importar | Clase de importación |
instancia de | Probar si un objeto es una instancia de una clase |
entero | entero de 32 bits |
interfaz | Interfaz, un tipo abstracto con solo definiciones de métodos y constantes |
largo | entero de 64 bits |
nativo | Los métodos de representación se implementan en código que no es Java. |
nuevo | Asignar nueva instancia de clase |
paquete | Una serie de clases relacionadas forman un paquete. |
privado | Indica campos privados, métodos, etc., a los que solo se puede acceder desde dentro de la clase. |
protegido | Indica que solo se puede acceder al campo a través de la clase o sus subclases u otras clases en el mismo paquete. |
público | Representa propiedades o métodos comunes. |
devolver | valor de retorno del método |
corto | 16 dígitos |
estático | Representa algo definido a nivel de clase y compartido por todas las instancias. |
estrictofp | Las comparaciones de punto flotante utilizan reglas estrictas |
súper | Representa la clase base |
cambiar | seleccionar declaración |
sincronizado | Representa un bloque de código al que solo puede acceder un hilo a la vez. |
este | Indica llamar a la instancia actual o llamar a otro constructor |
tirar | lanzar una excepción |
lanza | Definir excepciones que puede generar un método. |
transitorio | Modificar campos para que no se serialicen |
intentar | Indica que el bloque de código necesita manejar excepciones o cooperar con finalmente para indicar que si se lanza una excepción, el código finalmente se ejecutará. |
vacío | El método Mark no devuelve ningún valor |
volátil | Se puede acceder a los campos de etiquetas simultáneamente mediante múltiples subprocesos sin sincronización |
mientras | mientras bucle |
Al igual que C/C++, Java también admite comentarios de una sola línea y de varias líneas. El compilador de Java ignorará los caracteres de los comentarios.
clase pública MiPrimerProgramaJava{
/* Este es el primer programa Java *Imprimirá Hola Mundo
* Este es un ejemplo de un comentario de varias líneas */
principal vacío estático público (cadena [] argumentos) {
// Este es un ejemplo de un comentario de una sola línea /* Este también es un ejemplo de un comentario de una sola línea */
System.out.println("Hola mundo");
}
}
El compilador de Java ignora las líneas en blanco o las líneas con solo comentarios.
En Java, una clase se puede derivar de otras clases. Si está creando una clase y ya existe una clase que tiene las propiedades o métodos que necesita, entonces puede heredar la clase recién creada de esa clase.
Al utilizar la herencia, puede reutilizar métodos y propiedades de clases existentes sin tener que reescribir el código. La clase heredada se llama superclase y la clase derivada se llama subclase.
En Java, una interfaz puede entenderse como un protocolo de comunicación entre objetos. Las interfaces juegan un papel muy importante en la herencia.
La interfaz solo define los métodos que utilizará la clase derivada, pero la implementación específica del método depende completamente de la clase derivada.
La siguiente sección presenta clases y objetos en la programación Java. Posteriormente tendrá una comprensión más clara de las clases y objetos en Java.