PDF de programación - Sesión 1: Introducción al Lenguaje Java - Lenguaje Java Avanzado

Imágen de pdf Sesión 1: Introducción al Lenguaje Java - Lenguaje Java Avanzado

Sesión 1: Introducción al Lenguaje Java - Lenguaje Java Avanzadográfica de visualizaciones

Publicado el 19 de Enero del 2019
573 visualizaciones desde el 19 de Enero del 2019
234,1 KB
48 paginas
Creado hace 11a (26/09/2012)
Experto Universitario Java Enterprise

Lenguaje Java Avanzado

Sesión 1: Introducción al Lenguaje Java

© 2012-2013 Depto. Ciencia de la Computación e IA



Experto Universitario Java Enterprise

Índice

• Introducción a Java
• Conceptos de POO
• Elementos de un programa Java
• Herencia, interfaces, polimorfismo
• Hilos
• Clases útiles

Lenguaje Java Avanzado

© 2012-2013 Depto. Ciencia de la Computación e IA

Lenguaje Java 2



Experto Universitario Java Enterprise

Java

• Java es un lenguaje OO creado por Sun Microsystems para poder

funcionar en distintos tipos de procesadores y máquinas.

• Similar a C o C++, pero con algunas características propias (gestión de

hilos, ejecución remota, etc)

• Independiente de la plataforma, gracias a la JVM (Java Virtual

Machine), que interpreta los ficheros objeto

• Se dispone de antemano de la API (Application Programming Interface)

de clases de Java.

Lenguaje Java Avanzado

© 2012-2013 Depto. Ciencia de la Computación e IA

Lenguaje Java 3



Experto Universitario Java Enterprise

Clases

• Clases: con la palabra class y el nombre de la clase

class MiClase
{

...

}

• Como nombre utilizaremos un sustantivo
• Puede estar formado por varias palabras
• Cada palabra comenzará con mayúscula, el resto se dejará en minúscula

• Por ejemplo: DataInputStream

• Si la clase contiene un conjunto de métodos estáticos o constantes relacionadas

pondremos el nombre en plural
• Por ejemplo: Resources

Lenguaje Java Avanzado

© 2012-2013 Depto. Ciencia de la Computación e IA

Lenguaje Java 4



Experto Universitario Java Enterprise

Campos y variables
• Campos y variables: simples o complejos
• Utilizaremos sustantivos como nombres

Properties propiedades;
File ficheroEntrada;
int numVidas;

• Puede estar formado por varias palabras, con la primera en minúsculas y el

resto comenzando por mayúsculas y el resto en minúsculas
• Por ejemplo: numVidas

• En caso de tratarse de una colección de elementos, utilizaremos plural

• Por ejemplo: clientes

• Para variables temporales podemos utilizar nombres cortos, como las iniciales

de la clase a la que pertenezca, o un carácter correspondiente al tipo de dato

int i;
Vector v;
DataInputStream dis;

Lenguaje Java Avanzado

© 2012-2013 Depto. Ciencia de la Computación e IA

Lenguaje Java 5



Experto Universitario Java Enterprise

Constantes

• Constantes: Se declarán como final y static

final static String TITULO_MENU = “Menu”;
final static int ANCHO_VENTANA = 640;
final static double PI = 3.1416;

• El nombre puede contener varias palabras
• Las palabras se separan con ‘_’
• Todo el nombre estará en mayúsculas

• Por ejemplo: MAX_MENSAJES

Lenguaje Java Avanzado

© 2012-2013 Depto. Ciencia de la Computación e IA

Lenguaje Java 6



Experto Universitario Java Enterprise

Métodos

• Métodos: con el tipo devuelto, nombre y parámetros

void imprimir(String mensaje)
{

...// Codigo del método

}
Vector insertarVector(Object elemento, int posicion)
{

...// Codigo del método

}

• Los nombres de los métodos serán verbo
• Puede estar formados por varias palabras, con la primera en minúsculas y el resto

comenzando por mayúsculas y el resto en minúsculas
• Por ejemplo: imprimirDatos

Lenguaje Java Avanzado

© 2012-2013 Depto. Ciencia de la Computación e IA

Lenguaje Java 7



Experto Universitario Java Enterprise

Constructores

• Constructores: se llaman igual que la clase, y se ejecutan con el operador new

para reservar memoria

MiClase()
{

...// Codigo del constructor

}
MiClase(int valorA, Vector valorV)
{

...// Codigo del otro constructor

}

• No hace falta destructor, de eso se encarga el garbage collector
• Constructor superclase: super(…)

Lenguaje Java Avanzado

© 2012-2013 Depto. Ciencia de la Computación e IA

Lenguaje Java 8



Experto Universitario Java Enterprise

Paquetes

• Paquetes: organizan las clases en una jerarquía de paquetes y subpaquetes
• Para indicar que una clase pertenece a un paquete o subpaquete se utiliza la

palabra package al principio de la clase

package paquete1.subpaquete1;
class MiClase {

• Para utilizar clases de un paquete en otro, se colocan al principio sentencias import

con los paquetes necesarios:

package otropaquete;
import paquete1.subpaquete1.MiClase;
import java.util.*;
class MiOtraClase {

Lenguaje Java Avanzado

© 2012-2013 Depto. Ciencia de la Computación e IA

Lenguaje Java 9



Experto Universitario Java Enterprise

Paquetes

• Si no utilizamos sentencias import, deberemos escribir el nombre completo de

cada clase del paquete no importado (incluyendo subpaquetes)


class MiOtraClase {

paquete1.subpaquete1.MiClase a = ...;
MiClase a = ...;

// Con import

// Sin import

• Los paquetes se estructuran en directorios en el disco duro, siguiendo la

misma jerarquía de paquetes y subpaquetes

./paquete1/subpaquete1/MiClase.java

Lenguaje Java Avanzado

© 2012-2013 Depto. Ciencia de la Computación e IA

Lenguaje Java 10



Experto Universitario Java Enterprise

Paquetes

• Siempre se deben incluir las clases creadas en un paquete

• Si no se especifica un nombre de paquete la clase pertenecerá a un paquete

“sin nombre”

• No podemos importar clases de paquetes “sin nombre”, las clases creadas de

esta forma no serán accesibles desde otros paquetes

• Sólo utilizaremos paquetes “sin nombre” para hacer una prueba rápida,

nunca en otro caso

Lenguaje Java Avanzado

© 2012-2013 Depto. Ciencia de la Computación e IA

Lenguaje Java 11



Experto Universitario Java Enterprise

Convenciones de paquetes

• El nombre de un paquete deberá constar de una serie de palabras simples

siempre en minúsculas
• Se recomienda usar el nombre de nuestra DNS al revés

especialistajee.org  org.especialistajee.prueba

• Colocar las clases interdependientes, o que suelan usarse juntas, en un mismo

paquete

• Separar clases volátiles y estables en paquetes diferentes
• Hacer que un paquete sólo dependa de paquetes más estables que él
• Si creamos una nueva versión de un paquete, daremos el mismo nombre a la

nueva versión sólo si es compatible con la anterior

Lenguaje Java Avanzado

© 2012-2013 Depto. Ciencia de la Computación e IA

Lenguaje Java 12



Experto Universitario Java Enterprise

Tipo enumerado

enum EstadoCivil {soltero, casado, divorciado};

EstadoCivil ec = EstadoCivil.casado;
ec = EstadoCivil.soltero;

switch(ec) {
case soltero:
System.out.println("Es soltero"); break;
case casado:
System.out.println("Es casado"); break;
case divorciado:
System.out.println("Es divorciado"); break;
}

Lenguaje Java Avanzado

© 2012-2013 Depto. Ciencia de la Computación e IA

Lenguaje Java 13



Experto Universitario Java Enterprise

Otras características



Imports estáticos

import static java.lang.Math;

double raiz = sqrt(1252.2);

• Argumentos variables

public void miFunc(String param, int... args) {
for(int i: args) { … }
}

• Anotaciones (metainformación)

• P.ej., @deprecated

Lenguaje Java Avanzado

© 2012-2013 Depto. Ciencia de la Computación e IA

Lenguaje Java 14



Experto Universitario Java Enterprise

Convenciones generales

Indentar el código uniformemente


• Limitar la anchura de las líneas de código (para impresión)
• Utilizar líneas en blanco para separar bloques de código
• Utilizar espacios para separar ciertos elementos en una línea
• Documentación:

• Utilizar /*... */ para esconder código sin borrarlo
• Utilizar // ... para detalles de la implementación
• Utilizar javadoc para describir la interfaz de programación

Lenguaje Java Avanzado

© 2012-2013 Depto. Ciencia de la Computación e IA

Lenguaje Java 15



Experto Universitario Java Enterprise

Modificadores de acceso

• Las clases y sus elementos admiten unos modificadores de acceso:

• privado: el elemento es accesible sólo desde la clase en que se encuentra
• protegido: el elemento es accesible desde la propia clase, desde sus

subclases, y desde clases del mismo paquete

• público: el elemento es accesible desde cualquier clase
• paquete: el elemento es accesible desde la propia clase, o desde clases del

mismo paquete.

Lenguaje Java Avanzado

© 2012-2013 Depto. Ciencia de la Computación e IA

Lenguaje Java 16



Experto Universitario Java Enterprise

Modificadores de acceso

• private se utiliza para elementos PRIVADOS
• protected se utiliza para elementos PROTEGIDOS
• public se utiliza para elementos PUBLICOS
• No se especifica nada para elementos PAQUETE

public class MiClase {

private int n;
protected void metodo() { ... }

• Todo fichero Java debe tener una y solo una clase pública, llamada

igual que el fichero (más otras clases internas que pueda tener)

Lenguaje Java Avanzado

© 2012-2013 Depto. Ciencia de la Computación e IA

Lenguaje Java 17



Experto Universitario Java Enterprise

Modificadores de acceso

La misma clase

Cualquier clase del
mismo paquete

Subclase de otro
paquete

Cualquier clase de
otro paquete

public

protected

default

private





















Lenguaje Java Avanzado

© 2012-2013 Depto. Ciencia de la Computación e IA

Lenguaje Java 18



Experto Universitario Java Enterprise

Otros modificadores

• abstract: para definir clases y métodos abstractos
• static: para definir elementos compartidos por todos los objetos que se creen de la

misma clase
• miembros que no pertenecen al objeto en si, sino a la clase
• dentro de un método estático sólo podemos utilizar elementos estáticos, o elementos que hayamos

creado dentro del propio método



final: para definir elementos no modificables ni heredables

public abstract class MiClase {

public static final int n = 20;
public abstract void metodo();
...

Lenguaje Java Avanzado

© 2012-2013 Depto. Ciencia de la Computación e IA

Lenguaje Java 19



Experto Universitario Java Enterprise

Otros modificadores

• volatile y synchronized: para elementos a los que no se pu
  • Links de descarga
http://lwp-l.com/pdf14910

Comentarios de: Sesión 1: Introducción al Lenguaje Java - Lenguaje Java Avanzado (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad