Java OCA Capítulo 1
Entendiendo la estructura de una clase Java
comentarios
- 1 línea:
//esto es un comentario de una sola línea
- múltiples líneas
/* un comentario * con múltiples * líneas */
- javadoc:
/** un comentario javadoc * @author Miguel Angel Torres */
clases VS ficheros
- cada clase java se define en su propio fichero .java
- el nombre de la clase ha de coincidir con el nombre del fichero
- puedes poner 2 o más clases, pero solo 1 puede ser pública y esta es la que ha de coincidir en nombre con el fichero
escribiendo un método main()
- el método
main()
es el puente entre el proceso de arranque de Java, gestionado por la <abbr title=«Java Virtual Machine»>JVM</abbr> y el códido Java del programador - compilación y ejecución:
$ javac MiClase.java $ java MiClase
- para compilar es necesario:
- que el fichero tenga extensión .java
- que el nombre de la clase coincida con el nombre del fichero (case sensitive)
- esto genera un código compilado bytecode, interpretable por cualquier <abbr title=«Java Virtual Machine»>JVM</abbr> (multiplataforma)
- para ejecutar el código compilado, se omite la extensión (.class)
public static void main(String[] args)
String[] args
–>String args[]
–>String… args
son expresiones equivalentes
Declaraciones de paquetes e importaciones
- Java pone las clases en paquetes (
package
), agrupaciones lógicas. import
le dice a Java en que paquetes ha de buscar clases- los paquetes siguen un orden jerárquico de carpetas
- si un paquete empieza por
java
ojavax
, son clases que pertenecen al JDK del propio Java - los nombres de los paquetes pueden contener números y letras
- en el examen OCA no se usarán nombres de paquetes inválidos (aunque si nombres de variables inválidos)
- las clases del paquete
java.lang
se incluyen automáticamente sin tener que realizar unimport
de dicho paquete
comodines (wildcards)
- se puede usar un shortcut de
import
, usando comodines (*
) para importar todas las clases de un paquete
import java.util.*;
importaciones redundantes
import java.lang.System; // redundante, java.lang se carga automaticamente import java.util.Random import java.util.* // Esta o la anterior son redundantes... con esta última incluimos Random y todas las de java.util (no a la inversa)