SUN CERTIFIED JAVA PROGRAMMER (SCJP) CAPÍTULO 10: DEVELOPMENT.

Slides:



Advertisements
Presentaciones similares
Métodos y parámetros.
Advertisements

Introducción a C#.
Sun Microsystems desarrolló, en 1991, el lenguaje de programación orientado a objetos que se conoce como Java. La intención de Sun era crear un lenguaje.
Ayudantía Pre-Actividad 5 Multimedios. Ayudantía Pre-Actividad 5 (1) creación de varias clases, y composición (2) manejo de threads (3) manejo de excepciones.
Curso de java básico (scjp)
Curso de java básico (scjp)
CJ02 – Técnicas avanzadas en java 1.4 y 5.0
Curso de Java Capitulo 7: Conceptos sobre poo Profesor:
Introducción a la programación en JAVA
Cetis No. 119 Profa. Graciela Prado Becerra
Lenguaje de programación Java
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
INSTITUTO TECNOLOGICO DE MINATITLAN
“Programación orientada a Objetos II”
Inner classes CAPITULO 8.
Informática II Prof. Dr. Gustavo Patiño MJ
Genéricos en Java Jaime Ramírez, Ángel Lucas González
1.2 Sintaxis del lenguaje Java.
JDK Ver la figura anexa:
PROGRAMACION ORIENTADA A OBJETOS
Objetos y Clases en Java
Programación Orientada a Objetos en Java
HERENCIA.
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
Excepciones y archivos Info 033. Exception El término Exception es la palabra corta para la frase "evento excepcional." Definition: Una excepción es un.
Primer Programa en JAVA
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA SEIS DESARROLLO, INNER CLASSES.
Java. Objeto Es la instancia de una clase. Cada objeto se crea utilizando la palabra reservada new. Un objeto es conocido como una instancia. Ejemplo.
Métodos Algoritmos y Desarrollo de Programas I. Cuando utilizar métodos  Los métodos se utilizan para romper un problema en pedazos de forma que este.
Estructuración y modularidad de los programas Fundamentos de Programación/ Programación I
Medio de tele-comunicación
Modificadores.
Lic. Rosemary Torrico Bascopé
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA CINCO CONSOLE.
Tema 6: Clases Antonio J. Sierra.
If anidados y Switch Prof. Lillian Bras.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA OCHO THREADS.
Input – Scanner y Cajas de diálogo
Archivos y Búsqueda Secuencial
SCJP Sun Certified Programmer for Java 6
UNIDAD 2 CLASES Y OBJETOS. CLASE Elementos cabecera y cuerpo de la clase. Cabecera: aporta información fundamental sobre la clase en sí y constituye de.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
El lenguaje de programación Java
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
ESTRUCTURA DE DATOS EN JAVA
Tema 11: Excepciones Antonio J. Sierra.
Un programa no es nada mas que una serie de instrucciones dadas al ordenador en un lenguaje entendido por el, para decirle exactamente lo que queremos.
Abstracción de Datos y Orientación a Objetos.. Vista General. Por qué la abstracción de datos y la programación orientada a objetos. Módulos y módulos.
1 Objetos y Clases en Java ELO-329: Diseño y Programación Orientados a Objetos.
Alcance Dinámico La Asociación Actual para un Nombre dado es el encontrado recientemente durante la ejecución, y no a sido destruido aun por el retornado.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
Curso de Java La tecnología Java
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SCJP 6.0 SEMANA CUATRO CONTROL DE FLUJOS, EXCEPCIONES Y ASERSIONES.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6
MBA. LIDA LOOR MACIAS 1. 3 martes, 13 de octubre de 2014 OBJETIVO: El estudiante adquirirá los fundamentos básicos de la programación orientada a objeto.
ELO3291 Estructuras fundamentales de la programación en Java ELO-329: Diseño y programación orientados a objetos Agustín J. González.
ELO3291 Estructuras fundamentales de la programación en Java ELO-329: Diseño y programación orientados a objetos Agustín J. González.
Clases y Objetos en Java ELO329: Diseño y Programación Orientados a Objetos.
Herencia. Introducción La idea básica es poder crear clases basadas en clases ya existentes. Cuando heredamos de una clase existente, estamos re-usando.
Programación orientada a objetos Capítulo 5 Comportamiento más sofisticado.
Luis Villalta Márquez Servicios SFTP/SCP. SFTP SSH File Transfer Protocol (también conocido como SFTP o Secure File Transfer Protocol) es un protocolo.
Mtr. Adrián Monge Monge Educación 2015 Maestría, Mención en Administración de Proyectos ULACITMaestría, Mención en Administración de Proyectos 2012 Licenciatura,
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Patricia López & Julio Medina Computadores y Tiempo Real Santander, 2013 G80 - Advanced Computation 1 Generación de Código con BOUML.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

SUN CERTIFIED JAVA PROGRAMMER (SCJP) CAPÍTULO 10: DEVELOPMENT

Compiling with javac javac [options] [source files] [options] y [source files] son partes opcionales del comando, y ambas permiten multiples entradas. Ej: javac -help javac -classpath com:. -g Foo.java Bar.java option argument Source files

Compiling with -d La opcion -d option permite decirle al compilador en que directory se colocarán lo archivos.class que este genera (d is for destination). Ej: myProject | |--source | | |-- MyClass.java | |-- classes | |-- cd myProject javac -d classes source/MyClass.java

Compilando con -d package com.wickedlysmart; public class MyClass { } javac -d classes source/com/wickedlysmart/MyClass.java

Compiling with -d package com.wickedlysmart; public class MyClass { } And the following command (the same as last time): javac -d classes source/com/wickedlysmart/MyClass.java El compilador construye dos directorios llamados com y com/wickedlysmart para colocar el resltado MyClass.class dentro del paquete correcto (com/wickedlysmart/).

Launching Applications with java java [options] class [args] Se debe especificar exactamente un archivo a ejecutar, y el comando java asume que se trata de un.class, por ello no se debe especificar la extension en la línea de comando. cd My Project/classes java -DmyProp=myValue MyClass x 1 -D Agregamos una propiedad

Using System Properties Java 5 tiene una clase llamada java.util.Properties que puede ser usada para acceder a informacion del sistema como: las versiones actuales del sistema operativo, del compilador java y de la maquina virtual. Además provee información default, y se puede también añadir propiedades. java -DcmdProp=cmdVal TestProps java -DcmdProp="cmdVal take 2" TestProps El método getProperty() es usado para retornar una propiedad. Esté puede ser invocado con un argumento simple (un string que representa el key), o puede ser invocado con dos arguments (un String que representa el key, y un valor String default para ser usado como la propiedad si esta aun no existe). En ambos casos, getProperty() retorna la propiedad como String

Handling Command-Line Arguments Declaraciones legales paa main(): static public void main(String[] args) public static void main(String... x) static public void main(String bang_a_gong[])

Searching for Other Classes El siguiente caso común se da cuando nosotros queremos compilar un archivo o correr una clase que usa otras clases, creadas fuera de lo que la Sun provee. Recordar que para cualquier clase dada, la máquina virtual necesitará encontrar exactamente las mismas clases que el compilador javac necesitará encontrar en tiempo de compilación. En otras palabras, si javac necesita acceder a java.util.HashMap entonces el comando java también necesitará acceder a java.util.HashMap.

Searching for Other Classes Java y javac usan el mismo algoritmo básico de búsqueda: 1. Ambos tienen las mismas listas de lugares (directorios) para buscar clases. 2. Ambos buscan a través de la listas de directorios en el mismo orden. 3. Cuando encuentran la clase paran la búsqueda de esa clase. En el caso que sus listas de búsquedas contengan dos o más achivos, el primer archivo encontrado será el usado. 4. El primer lugar en el que buscan es en los directoros que contienen las clases estandares que vienen con J2SE. 5. El segundo lugar es en los directorios definidos por los classpaths. 6. Classpaths “directorios de búsqueda de clases." Son listas de directorios en los cuales las clases pueden ser encontradas. 7. Estos son lugares donde los classpaths pueden ser encontrados: o Un classpath puede ser declarado como una variable de ambiente del sistema operativo. o El classpath declarado aquí es usado por default, cuandoquiera que java o javac sean invocados. o Un classpath puede ser declarado como una opción en línea de comando para java o javac. o Classpaths declarado como command-line sobreescribe el classpath declarado como vaiable de ambiente, pero ellos persisten solo durante la invocación.

Declaring and Using Classpaths Classpaths consiten en variables de locaciones de directorios, separados por delimitadores. o For Unix: -classpath /com/foo/acct:/com/foo o For Windows: -classpath com\foo\acct;com\foo Específica dos directorios en los cuales las clases pueden ser encontradas: /com/foo/acct y /com/foo. En ambos casos, estos directorios son absolutamente ligados a la raíz del sistemas de archivos. La mayor parte del examen usará convenciones Unix.

Declaring and Using Classpaths Por default los comandos javac y java no buscan los archivos.class en el directorio actual. Se debe especificar que busque ahí. El modo para decirle a java o javac que busuqe en el directorio actual es añadir un (.) al classpath:  -classpath /com/foo/acct:/com/foo:.

Declaring and Using Classpaths Classpaths son búscados de izquierda a derecha. Por lo tanto habrá diferentes resultados en una situación donde existen nombres de clases duplicados en diferentes directorios definidos por el classpath.  -classpath /com:/foo:.  No es lo mismo que:  -classpath.:/foo:/com Finalmente el comando java permite abreviar classpath con - cp. La documentación de java es inconsistente en si javac permite la abreviación –cp. En la mayoría de máquinas virtuales si lo es, pero esto no está garantizado.

Packages and Searching Una vez que una clase está dentro de un paquete, el paquete es parte de su nombre completo — este nunca puede ser dividido. No se puede dividir en una línea de comandos, ni se puede dividir en un import.

Packages and Searching El import statement es como un alias para el nombre completo. Se define el nombre completo para la clase con un import statement (o con un wildcard en un import statement del paquete). Una vez definido el nombre completo, se puede usar el alias en el código pero el alias se refiere siempre al nombre completo. javac -classpath classes -d classes source/Another.java Cuando se usa un classpath, el último directorio en le path debe ser el super- directory del directorio raiz del paquete. En el ejemplo anterior, classes es el directorio raiz para el paquete com.foo

Relative and Absolute Paths Cada path en un classpath es absoluto o relativo. Un path absoluto en Unix inicia con un slash (/) (en windows c:\). El slash al inicio indica que este path esta iniciando desde el directorio raiz del sistema. Un path relativo es lo que no inicia desde la raiz

Relative and Absolute Paths

JAR Files and Searching JAR son usados para comprimir datos y archivar. Crear un jar o jar -cf MyJar.jar myApp Ver el contenido de un jar o jar -tf MyJar.jar

JAR Files and Searching Encontrar un archivo jar usando un classpath es similar a encontrar un archivo de un paquete. La diferencia es que cuando se especifica un path para un jar, se debe incluir el nombre del jar al final del path.

javac -classpath ws/myApp.jar UseStuff.java javac -classpath ws UseStuff.java

Using.../jre/lib/ext with JAR files Buried deep inside of your Java directory tree is a subdirectory tree named jre/lib/ext. If you put JAR files into the ext subdirectory, java and javac can find them, and use the class files they contain. Sun recommends, however, that you use this feature only for your own internal testing and development, and not for software that you intend to distribute.

Using Static Imports En Java 5, el import statement fue mejorao para proveer mayor capacidad de reduccion de escritura. Esta nueva caractrísitica es conocida como static imports. Static imports pueden ser usados cuando se desee usar miembros de una clase estática.

Using Static Imports Antes de static imports: public class TestStatic { public static void main(String[] args) { System.out.println(Integer.MAX_VALUE); System.out.println(Integer.toHexString(42)); }} Después de static imports: import static java.lang.System.out; // 1 import static java.lang.Integer.*; // 2 public class TestStaticImport { public static void main(String[] args) { out.println(MAX_VALUE); // 3 out.println(toHexString(42)); // 4 }}

Using Static Imports 1. La sintaxis debe ser import static, seguido del nombre completo del miembro estático que se quiera importar o un wildcard(*). 2. En este caso se podría querer usar muchos de los miembros de la clase java.lang.Integer class. El static import statement usa el wildcard para decir “Yo quiero hacer un static imports de todos los miembros estáticoas de esta clase." 3. Podemos ver las ventajas de static import! No debemos tipear el System en System.out.println. 4. No tipeamos el Integer en Integer.MAX_VALUE. Así en está lineas de código somos capaces de usar un shortcut para un método y una constante estática.

Using Static Imports Algunas reglas para import estáticos: Se debe decir import static; no se debe decir static import. Tener cuidado con las ambiguedades. Si tu haces un import estático para la clase Integer y para la clase Long, y se realiza una referencia a MAX_VALUE, esto causará un error de compilación, porque Integer y Long tienen una constante MAX_VALUE, y Java no sabrá a cual de las dos referirse. Se puede hacer un import estático sobre referencias a objetos estáticos, constantes (final y static) y métodos estáticos.