TEMA 6 - Introducción A Java
TEMA 6 - Introducción A Java
FUNDAMENTOS
Para programar en Java existen gran cantidad de IDE (Entorno Integrado de Desarrollo) como
Eclipse, Intellij Idea o NetBeans. Además, necesitamos la herramienta de desarrollo JDK (Java
Development Kit) que nos proporciona todo los necesario para escribir y compilar en Java. Eso
sí, el programa solo se escribe una vez pero hay que compilarlo para cada SO utilizado.
Al crear un nuevo proyecto, tendremos una capeta llamada src que tendrá los paquetes y
clases de Java de nuestra app. Los paquetes son los directorios o contenedores de clases
donde se agrupan las que tienen el mismo propósito y las clases son ficheros de código que
hay que compilar que tienen .java y que darán los bytecode. Esta compilación da lugar a los
ficheros .class.
En todo proyecto debe existir, como mínimo, una clase de entrada. Puede tener cualquier
nombre pero debe tener una función llamada main.
La POO pretende acercarse más a la realidad de manera que los elementos de un programa se
puedan ajustar, en la medida de lo posible, a los diferentes elementos de la vida cotidiana.
• Abstracción. Nos basamos solo en qué hace el objeto y para qué se ha creado,
olvidando otros factores como implementación.
• Encapsulamiento. Ocultar los datos de los objetos al mundo exterior, de modo que del
objeto solo se conozca su esencia y que queremos hacer con él.
• Modularidad. Los objetos pueden ser independientes los unos de los otros y podrán
ser reutilizados.
• Jerarquía (Herencia). Vamos a tener objetos que descienden de otros.
• Polimorfismo. Podemos tener varios métodos con el mismo nombre pero que pueden
recibir un nº distinto de parámetros y en función de esos parámetros, hará una cosa u
otra.
En Java, son los tipos numéricos, carácter y lógico. Son eficaces porque consumen menos
cantidad de memoria y permiten realizar cálculos en el menor tiempo posible.
• Tipos numéricos enteros. Podemos usar short (16 bits), int (32 bits) o long (64
bits). Hay que tener en cuenta el espacio que ocupan en memoria.
• Tipos numéricos reales. También coma flotante, son aquellos que permiten realizar
diferentes cálculos con decimales. Pueden ser float (32 bits) o double (64 bits).
• Tipo char. Se usa para representar un carácter Unicode. Existen varias clases para el
manejo de estas cadenas de caracteres y hay métodos que nos facilitan el trabajo.
Contempla números del 0 al 9, letras (mayúsculas/minúsculas). Su valor va dentro de
comillas simples. Tamaño de 16 bits.
• Tipo boolean. Solo almacena los posibles valores true o false.
• Arrays y tablas. Podemos crear tablas, matrices y estructuras.
int numero = 1;
float numerocoma = 3.16;
char letra = ‘a’;
boolean verdad = true;
int[ ] vector = new int[5];
Las reglas para usar arrays y tablas:
Son similares a C#. En Java tenemos int, float, char, boolean, etc.
Para cadenas de texto, debemos usar un tipo de dato no primitivo llamado String:
String txt;
txt = ‘Hola mundo’;
Todas las variables deben ser declaradas. Si no se le asigna valor, es un valor desconocido,
donde NO suponemos que sea 0. Siempre que se declaren, hay que asignarles un valor.
Constantes
Se utiliza la palabra reservada final. Esto provoca que el valor no pueda ser alterado:
Combinación de valores, variables y operadores. Las expresiones simples son aquellas en las
que intervienen un único operador. Por ejemplo, el =
Las expresiones complejas aparecen más de uno, de forma que podamos evaluar
subexpresiones por separado y usar sus resultados para calcular un resultado final.
Podríamos decir que un objeto es un contenedor de datos mientras que una clase es un molde
para construir el objeto.
Ejemplo: declarar un objeto coche, que sus atributos son: color, marca, modelo y algunos de
sus métodos son acelerar, frenar, cambiar de velocidad.
Los objetos usan los atributos en forma de variables y los métodos como funciones.
Los métodos son las funciones propias que tiene una clase que pueden acceder a sus atributos.
Encontramos como funciones de lectura (getter) como de escritura (setter) de estos atributos.
Se usan para reforzar la encapsulación, ya que permite que podamos extraer/añadir
información de los objetos sin conocer más detalles de implementación.
Para usar los métodos de una clase, lo primero es crear una clase con sus atributos y métodos.
Después, en otra clase (main por ejemplo), creamos el objeto y podremos usar todas sus
propiedades. Para acceder:
Se pone por delante la palabra reservada static. Según donde la usemos hará una cosa u otra:
• En atributos. Quiere decir que ese atributo se ubica en una zona especial de memoria
y que será el mismo para todos los objetos que creemos de esa clase. Si se modifica el
valor, afecta a todos los objetos.
• En métodos. Este pasa a convertirse en un método de clase. Podremos invocar al
método sin tener que crear un objeto de la clase.
6.7 Constructores
Son unas funciones especiales que permiten crear objetos de la clase en la que se encuentran.
Características:
En algunos lenguajes, existen funciones especiales que se ejecutan de forma automática para
eliminar objetos. No devuelven nada, ni siquiera void, ni reciben nada.
También existe el Garbage Collector, que es un recolector de basura automático. Java utiliza
este, donde antes de barres el objeto no usado, llama al método finalize() y después lo
destruye.