Java

Java

Java es un lenguaje puramente orientado a objetos, todo el código debe estar incluido en alguna clase

Fue definido por la empresa Sun Microsystems, que fue adquirida en el año 2009 por Oracle Corporation, anteriormente parte de Silicon Valley, fabricante de semiconductores y software; pero el lenguaje sigue siendo de dominio público. En particular, Oracle ofrece en su página web, de forma gratuita, un JDK (Java Development Kit) el cual permite compilar, depurar y ejecutar programas Java

Si tenemos un programa en un fichero programa.java, podremos compilarlo desde la línea de comandos con:

Esto genera una colección de ficheros de extensión .class, uno por cada clase que aparezca en programa.java y con el nombre de la clase correspondiente

Solo en una de las clases (en el entorno activo) debe tener un método llamado main (el método principal); supongamos que está en la clase programa, podremos ejecutar el programa desde la línea de comandos:

En el caso anterior, la extensión seria opcional

Para que esto funcione correctamente, debemos tener instalado el JDK y hay que asegurarse de que la trayectoria almacenada en la variable CLASSPATH esté en la trayectoria por defecto del sistema

Normalmente los programas se desarrollan en un entorno integral de programación que contiene además de la funcionalidad del JDK, al menos un editor de programas. Sun ofrece en su página web un entorno integrado para Java: Netbeans

El resultado de la compilación de un programa java (los ficheros .class) está expresado en un lenguaje intermedio llamado bytecode

El bytecode es interpretado por la máquina virtual de Java (JVM); la cual es un programa que es invocado por la orden java de la línea de comandos

Los distintos navegadores modernos incorporan una JVM, de modo que pueden ejecutar programas Java desde el navegador, a través de Applets incrustados dentro de las páginas html

Aunque el navegador de Google Chrome ha restringido su uso por seguridad y el JVM no está incluido por defecto, en caso de que el usuario deseara usarlas, debería instalar un pluging de terceros o utilizar un servidor dedicado para aplicaciones Java como por ejemplo Tomcat

Diferencias entre Java y C++

La sintaxis de Java está inspirada en la de C y es superficialmente muy similar a C++ por esa causa. Pero también tiene importantes diferencias

Modos de acceso de Java:

  • Cada atributo o método tiene asociado un permiso
  • Además de public y private (ambos sin los dos puntos) está el modo por defecto package

En cambio en C++, el modo de acceso por defecto es privado

Para utilizar algo por defecto en Java se usan los package (paquetes), que es una simulación de la noción de namespace de C++

Para crear o extender un paquete utilizando la orden package:

  • Debe encontrarse en la 1ª línea del fichero fuente (todo aquello que se encuentre en ese fichero pertenecerá al paquete)
  • Irá seguido del nombre del paquete que se desee utilizar

Si se quieren utilizar desde un paquete clases, atributos, métodos de otro paquete, se utiliza la orden import (es muy similar al using namespaces de C++)

Si el programador no define ningún package explícitamente, el sistema crea uno por defecto sin nombre, que contendrá todos los nombres de los ficheros (que no tengan package explícito) que pertenezcan a ese directorio del sistema operativo

En conclusión, en caso de ausencia de packages explícitos, el modo de acceso por defecto a una clase, un atributo o un método, es accesible desde todos los ficheros de un mismo directorio

Las clases en Java también tienen modo de acceso: pública, privada o por defecto

Si encontramos public al definir una clase, tiene dos consecuencias:

  • Es accesible desde cualquier punto, independientemente de los packages
  • Su nombre debe ser el del fichero .java que lo contiene; sólo puede haber una clase pública por fichero

Comentarios

Java tiene tres tipos de comentarios:

  • El // comenta hasta el final de la línea
  • El /* comenta hasta el primer */ (no se permite el anidamiento)
  • El /** comenta hasta el primer **/