hipottica o virtual denominada Java Virtual Machine (JVM) La JVM interpreta el cdigo neutro convirtindolo a cdigo particular del CPU utilizada Cualquier aplicacin que se desarrolle se apoya en un gran nmero de clases preexistentes Lenguaje simple, orientado a objetos, distribuido, interpretado, robusto, seguro, de arquitectura neutra, portable, de altas prestaciones, multitarea y dinmico Ejecucin de Programas en Java: Aplicacin independiente (Stand-Alone Application) Applet: aplicacin especial especial que se ejecuta en el computador donde se encuentra el browser Servlet: aplicacin sin interface grfica que se ejecuta en un servidor de Internet Clase Agrupacin de datos (variables o campos) y de funciones (mtodos) que operan sobre esos datos. A estos datos y funciones pertenecientes a una clase se les denomina variables y mtodos o funciones miembros. La programacin orientada a objetos se basa en la programacin de clases. Un programa se construye a partir de un conjunto de clases. Especificador de Acceso Determina la forma en que otras partes del programa pueden tener acceso a los miembros de la clase Mtodos de Clase (Static) Es un mtodo que puede ser accesado antes de crear objetos de su clase y sin referencia a ningn objeto. Main() Primer mtodo que se llama cuando se inicia una aplicacin Java. System.out.println System Clase predefinida Out Flujo de salida que est conectado a la cnsola Recordar: Java distingue entre maysculas y minsculas. Todas las declaraciones en Java terminan en punto y coma. // Archivo dos.java
class dos { public static void main (String arg[ ]) throws InterruptedException { System.out.println("Comienza main()...");
Circulo c = new Circulo(2.0, 2.0, 4.0); System.out.println("Radio = " + c.r + " unidades."); System.out.println("Centro = (" + c.x + "," + c.y + ") unidades.");
System.out.println("Termina main()...");
} // fin de main()
} // fin de class dos
Importar Packages de Java Creacin de un objeto FASE 1 Package Agrupacin de clases que tienen una finalidad relacionada. Existe una jerarqua de packages que se refleja en nombres compuestos separados por un punto. Objeto Variable concreta de una clase, con su propia copia de las variables miembros. // Archivo Circulo.java
public class Circulo extends Geometria {
static int numCirculos = 0; public static final double PI = 3.14159265358979323846; public double x, y, r;
public Circulo (double x, double y, double r) { this.x = x; this.y = y; this.r = r; numCirculos++;
}
public Circulo(double r) { this(0.0, 0.0, r); } public Circulo(Circulo c) { this(c.x, c.y, c.r); } public Circulo() { this(0.0, 0.0, 1.0); }
public double perimetro() { return 2.0 * PI * r; } public double area() { return PI * r * r;
// Mtodo de objeto para comparar crculos public Circulo elMayor(Circulo c) { if (this.r >= c.r) return this; else return c; }
// Mtodo de clase para comparar crculos public static Circulo elMayor(Circulo c, Circulo d) { if (c.r >= d.r) return c; else return d; }
} // Fin de la clase Circulo
Herencia La herencia permite que se puedan definir nuevas clases basadas en las clases existentes, lo cual facilita reutilizar cdigo previamente desarrollado. Si una clase deriva de otra (extends) hereda todas sus variables y mtodos. La clase derivada puede aadir nuevas variables y mtodos y/o redefinir las variables y mtodos heredados. Constructores (1) Un constructor es un mtodo que se llama automticamente cada vez que se crea un objeto de una clase. La principal misin del constructor es reservar memoria e inicializar las variables miembro de la clase. Constructores (2) Los constructores no tienen valor de retorno y su nombre es el mismo de la clase. Un constructor de una clase puede llamar a otro constructor previamente definido en la misma clase por medio de la palabra this. ESTRUCTURAS DE DATOS Colecciones de elementos relacionados Java contiene dos categoras generales de tipos de datos incorporados Orientados a objetos o de referencia No orientados a objetos o primitivos TIPOS DE DATOS SIMPLES, ELEMENTALES O PRIMITIVOS boolean Representa valores true/false byte Entero de 8 bits; -128 a 127 char Caracter float Con punto flotante de precisin simple (32 bits); 3.4 E -38 a 3.4 E+38 double Con punto flotante de doble precisin (64 bits); 1,7 E -308 a 1,7 E+308 int Entero (32 bits); -2.147.483.648 a 2.147.483.647 long Entero largo (64 bits); -9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 short Entero corto (16 bits); -32768 a 32767 Clases Abstractas Una clase abstracta (abstract) es una clase de la que no se pueden crear objetos. Su utilidad es permitir que otras clases deriven de ella, proporcionndoles una marco modelo que deben seguir y algunos mtodos de utilidad general. // Archivo Geometria.java
public abstract class Geometria {
// Clase abstracta no puede tener objetos
public abstract double perimetro(); public abstract double area();