Upload
mario-gomez-martinez
View
243
Download
0
Embed Size (px)
Citation preview
7/28/2019 Introduccion a Java.pdf
1/46
Introduccin a Java
Mario Gmez Martnez
Departamento de Sistemas Informticos y Computacin
Universidad Politcnica de Valencia
7/28/2019 Introduccion a Java.pdf
2/46
ndice
1. Introduccin Java y la POO
2. Variables, tipos y operaciones Atributos vs variables locales
Tipos primitivos vs referencias Paso de parmetros Operaciones
3. Clases y paquetes Atributos Mtodos Paquetes Modificadores de acceso
Estructuras de Datos y Algoritmos 2
7/28/2019 Introduccion a Java.pdf
3/46
INTRODUCCION
7/28/2019 Introduccion a Java.pdf
4/46
El lenguaje Java
Fuertemente Orientado a Objetos: todos losdatos (salvo los tipos primitivos) son objetos
Tipos estrictos: todas las variables estntipadas, control estricto de tipos yconversin de tipos
Clases estrictas: todos los objetos soninstancias (miembros) de alguna clase
7/28/2019 Introduccion a Java.pdf
5/46
La jerarqua de clases de Java
java.lang.Objectjava.lang.Boolean (implements java.lang.Comparable, java.io.Serializable)java.lang.Character (implements java.lang.Comparable, java.io.Serializable)java.lang.Character.Subset
java.lang.Character.UnicodeBlock
java.lang.Class (implements java.lang.reflect.AnnotatedElement,java.lang.reflect.GenericDeclaration, java.io.Serializable, java.lang.reflect.Type)
java.lang.ClassLoaderjava.lang.Compilerjava.lang.Enum (implements java.lang.Comparable, java.io.Serializable)java.lang.Mathjava.lang.Number (implements java.io.Serializable)
java.lang.Byte (implements java.lang.Comparable)java.lang.Double (implements java.lang.Comparable)
java.lang.Float (implements java.lang.Comparable)java.lang.Integer (implements java.lang.Comparable)java.lang.Long (implements java.lang.Comparable)java.lang.Short (implements java.lang.Comparable)
Estructuras de Datos y Algoritmos 5
http://download-llnw.oracle.com/javase/6/docs/api/java/lang/Object.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Boolean.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Comparable.htmlhttp://download.oracle.com/javase/6/docs/api/java/io/Serializable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Character.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Comparable.htmlhttp://download.oracle.com/javase/6/docs/api/java/io/Serializable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Character.Subset.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Character.UnicodeBlock.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Class.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/reflect/AnnotatedElement.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/reflect/GenericDeclaration.htmlhttp://download.oracle.com/javase/6/docs/api/java/io/Serializable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/reflect/Type.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/ClassLoader.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Compiler.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Enum.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Comparable.htmlhttp://download.oracle.com/javase/6/docs/api/java/io/Serializable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Math.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Number.htmlhttp://download.oracle.com/javase/6/docs/api/java/io/Serializable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Byte.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Comparable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Double.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Comparable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Float.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Comparable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Integer.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Comparable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Long.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Comparable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Short.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Comparable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Comparable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Short.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Comparable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Long.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Comparable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Integer.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Comparable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Float.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Comparable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Double.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Comparable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Byte.htmlhttp://download.oracle.com/javase/6/docs/api/java/io/Serializable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Number.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Math.htmlhttp://download.oracle.com/javase/6/docs/api/java/io/Serializable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Comparable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Enum.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Compiler.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/ClassLoader.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/reflect/Type.htmlhttp://download.oracle.com/javase/6/docs/api/java/io/Serializable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/reflect/GenericDeclaration.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/reflect/AnnotatedElement.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Class.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Character.UnicodeBlock.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Character.Subset.htmlhttp://download.oracle.com/javase/6/docs/api/java/io/Serializable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Comparable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Character.htmlhttp://download.oracle.com/javase/6/docs/api/java/io/Serializable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Comparable.htmlhttp://download.oracle.com/javase/6/docs/api/java/lang/Boolean.htmlhttp://download-llnw.oracle.com/javase/6/docs/api/java/lang/Object.html7/28/2019 Introduccion a Java.pdf
6/46
Principios de POO
Abstraccin
Encapsulacin y Ocultacin de informacin
Herencia Polimorfismo
Estructuras de Datos y Algoritmos 6
7/28/2019 Introduccion a Java.pdf
7/46
Objetos
Un objeto representa un tem individual e identificablede una cierta clase
Un objeto tiene: Identidad: identificador nico [hashcode] Estado (Atributos): conjunto de propiedades de cierto tipo
y valores que esas propiedades toman Comportamiento (Mtodos): operaciones que es posible
realizar sobre el objeto
El estado y el comportamiento de un objeto se define eimplementa en la clase a la cual pertenece
Los trminos objeto y ejemplo (o instancia) de unaclase son intercambiables.
Estructuras de Datos y Algoritmos 7
7/28/2019 Introduccion a Java.pdf
8/46
Objetos
En general los atributos de un objeto no cambian,cambian sus valores Hay excepciones, mediante programacin reflexiva
Que los objetos tengan estado implica queocupan un espacio de memoria.
El estado de un objeto est influido por suhistoria; representa el efecto acumulado de su
comportamiento. Los objetos son mutables: pueden ser creados,
modificados y destruidos.
Estructuras de Datos y Algoritmos 8
7/28/2019 Introduccion a Java.pdf
9/46
Clases
Una clase es un conjunto de objetos que comparten unaestructura y comportamiento comunes.
Conceptualmente es una abstraccin que representa lo quetienen en comn un conjunto de objetos.
Cualquier objeto es un ejemplo o instancia particular deuna clase. Dos visiones
visin externa de comportamiento (especificacin o interfaz),que enfatiza la abstraccin escondiendo su estructura y
comportamiento. visin interna (implementacin), que especifica la estructura y
la implementacin del comportamiento especificado.
Estructuras de Datos y Algoritmos 9
7/28/2019 Introduccion a Java.pdf
10/46
Programa: conjunto de clasesinterrelacionadas
Estructuras de Datos y Algoritmos 10
7/28/2019 Introduccion a Java.pdf
11/46
VARIABLES, TIPOS Y OPERADORES
7/28/2019 Introduccion a Java.pdf
12/46
Variables
Segn contexto, se distingue entre Atributos (field variables): estado de un objeto Variables locales (local variables) : temporales, usadas por un
mtodo mientras est en ejecucin
? ;< modificadores> ::= public | protected | private | static | final |
transient | volatile
Inicializacin Atributos se inicializan automticamente a valores por
defecto Variables locales no se inicializan automticamente
Estructuras de Datos y Algoritmos 12
7/28/2019 Introduccion a Java.pdf
13/46
Variables y Tipos
En Java todos los datos (variables) son dealgn tipo determinado, que puede ser:
Tipos primitivos (byte, short, int, long, float,double, char y boolean)
Vectores/Matrices ([]): coleccin de elementos detamao predeterminado.
Objetos: instancias de una Clase dada
Estructuras de Datos y Algoritmos 13
No confundir conla clase Vector
7/28/2019 Introduccion a Java.pdf
14/46
Variablespublic classVariables {
// atributos
static private int numero;
private char caracter;
protectedString cadena1, cadena2 = "Una cadena";
String[] vector1;
String[] vector2 = new String[10];final char otroCaracter = caracter = 'a';
voidmiMetodo(int numP, String cadenaP) //parametros
{
// variables locales
int numeroLocal = 10;
int[] vectorLocal = new int[5];
//...
}
}
Estructuras de Datos y Algoritmos 14
7/28/2019 Introduccion a Java.pdf
15/46
Tipos primitivos
Los tipos primitivos de Java son similares a los de los demslenguajes de programacin: boolean: true o false char: caracteres unicode de 16 bits
byte: enteros de 8 bits con signo short: enteros de 16 bits con signo int: enteros de 32 bits con signo long: enteros de 64 bits con signo. float: reales de 32 bits
double: reales de 64 bits
En los tipos primitivos se almacena directamente el valor
7/28/2019 Introduccion a Java.pdf
16/46
Referencias
Los datos de tipo primitivo almacenan valores directamente.Los dems tipos de datos (vectores y objetos) utilizanreferencias
Una referencia es la direccin de un rea en memoria, la cual
se reserva con el operador new
String s1 = Hola;
String s2 = s1; 102s1 H
o
l
102
Memoria
a102s2
7/28/2019 Introduccion a Java.pdf
17/46
Tipos primitivos vs. referencias
Ejemplo con tipos primitivos:
int a = 1;
int b;
b = a;
Ejemplo con referencias:
int a[] = new int[2];
a[0] = 1;
a[1] = 2;
int b[];
b = a;
a 1
b 0
b 1
a 0 0
a 1 0
a 1 2
a1 2
b
7/28/2019 Introduccion a Java.pdf
18/46
Tipos primitivos vs referencias
Indica el contenido de los vectores a y b trasejecutar las siguientes instrucciones:
int a[];intb[] = new
int[3];
a = new int[3];
a[0] = 1;b[1] = a[0];
a = b;
b[0] = a[1];
7/28/2019 Introduccion a Java.pdf
19/46
Inicializacin automtica
TipoValor por
defecto
boolean false
byte 0
char '\u0000'short 0
int 0
long 0l
float 0.0f
double 0.0d
Object null
Vector Segn tipo
Tips
Variables locales deben serexplcitamente inicializadas
Vectores inicializados
automticamente al ser creados, noal ser declarados, incluso si sonvariables locales
Traps
Los datos de tipo String se
inicializan a la cadena vaca envez de null
Variables locales slo pueden llevarel modificadorfinal
Estructuras de Datos y Algoritmos 19
7/28/2019 Introduccion a Java.pdf
20/46
Paso de parmetros
No confundir el mecanismo por referencia que se utiliza
para manipular objetos en memoria, con el mecanismoutilizado para pasar los parmetros al llamar a un mtodo
El paso de parmetros se hace siempre por valor, no por
referencia. El mtodo recibe una copia del valor original, y porlo tanto no puede modificar el dato original. Pero que pasa si el dato que pasamos es un objeto o vector?
Lo que se copia es la referencia, si se modifica localmente el objeto
pasado como parmetro, se modifica el objeto en su contexto original
Estructuras de Datos y Algoritmos 20
7/28/2019 Introduccion a Java.pdf
21/46
Actividad: Ejecuta y analiza
Estructuras de Datos y Algoritmos 21
public class PruebaPasoParametros {
private String atributo = new String();
public PruebaPasoParametros(String param) {
atributo = param;}
public static voidcambiarObjeto(PruebaPasoParametros objeto) {
objeto = new PruebaPasoParametros("Nuevo objeto"); }
public static voidcambiarAtributo(PruebaPasoParametros objeto) {
objeto.atributo = "Nuevo valor de atributo";}
public static voidmain(String[] args) {
PruebaPasoParametros pas = new PruebaPasoParametros("Objeto
inicial");
System.out.println("Objeto inicial " + pas);
PruebaPasoParametros.cambiarObjeto(pas);System.out.println("Tras cambiar objeto " + pas);
PruebaPasoParametros.cambiarAtributo(pas);
System.out.println("Tras cambiar atributos del objeto " + pas);}
public String toString() {
return "[atributo = " + atributo + "]";}
}
7/28/2019 Introduccion a Java.pdf
22/46
Integer a = new Integer(100);
String b = "100";
Integer c = Integer.getInteger(b);
int d = c.intValue();
Clases envoltorio
Permiten manipular datosde tipo primitivo como sifueran objetos
Mtodos para convertir de
uno a otro tipo Utilidades adicionales, por
ejemplo leer datosrepresentados como texto
Envoltorio Tipo primitivo
Byte byte
Short short
Integer int
Long longFloat float
Double double
Boolean boolean
Character char
7/28/2019 Introduccion a Java.pdf
23/46
Operadores
Igualdad y desigualdad: == , !=
Comparacin: =
Suma y resta unarios: +, -
Suma, multiplicacin, divisin y mdulo: +, -, *, /, % Incremento y decremento prefijos y posfijos: ++, --
Desplazamiento con signo y sin signo: , >>>
Negacin lgica unaria de bits: ~
Lgica de bits: &, |, ^ Lgica booleana: &&, ||
7/28/2019 Introduccion a Java.pdf
24/46
Operadores
Grupos de Precedencia
Grupo 0: ( )
Grupo 1: ++, --, + (unario), - (unario)
Grupo 2: *, /, %
Grupo 3: +, -, + (concatenacin)
Funciones matemticas:
Java.lang.Math
http://download-llnw.oracle.com/javase/6/docs/api/java/lang/Math.htmlhttp://download-llnw.oracle.com/javase/6/docs/api/java/lang/Math.html7/28/2019 Introduccion a Java.pdf
25/46
Operadores
Indica el resultado de este cdigo al ejecutarse
Estructuras de Datos y Algoritmos 25
public class Operadores {
public static voidmain(String[] args) {
int a = 10;
doubleb = 1.6;int c = a * (int) b;)
int d = a + 3 * 2;
d += 10;
d++;
int e = d + --a;
System.out.println(c);
System.out.println(d);
System.out.println(e);
System.out.println(a); }}
7/28/2019 Introduccion a Java.pdf
26/46
CLASES Y PAQUETES
7/28/2019 Introduccion a Java.pdf
27/46
Clase
?class ? ? {
? }
::= public | protected | private |
abstract | static | final
En el cuerpo de una clase puede haber Atributos
Mtodos Constructores Inicializadores estticos
Estructuras de Datos y Algoritmos 27
7/28/2019 Introduccion a Java.pdf
28/46
Atributos
Variables que caracterizan el estado de los objetosde una clase. Se definen en el cuerpo de la clase.
Un atributo no primitivo modela una relacin de
agregacin o composicin con las clasecorrespondiente al tipo del atributo. La clase Circulo tiene un (objeto de tipo) Color
public class Circulo {/** Atributos */
private double radio;
private Color color;
El color se representamediante objetos de la
Clase Color
7/28/2019 Introduccion a Java.pdf
29/46
Constantes y atributos estticos
static final ;
final: indica que el valor de un atributo no puede sermodificado
static: indica que el valor del atributo es el mismopara todos los objetos de la misma clase (atributos
de clase)
public class Circulo {
/** Atributos */private double radio;
private Color color;
private static final double RADIO_POR_DEFECTO= 3.0;
private static final Color COLOR_POR_DEFECTO= Color.black;
7/28/2019 Introduccion a Java.pdf
30/46
Mtodos
Constructores: crean una instancia de la Claseinicializan los atributos del objeto Se invocan con new Constructor()
Consultores: consultan informacin sin modificarel objeto (getters)
Modificadores: modifican el estado del objeto(setters)
Heredados de alguna superclase. Normalmentees necesario sobrescribirlos para usarloscorrectamente: toString(), equals(Object x),clone()
7/28/2019 Introduccion a Java.pdf
31/46
Mtodos
Se declaran mediante un nombre, un tipo de retorno, y una lista deparmetros con su correspondiente tipo. Opcionalmente pueden iracompaados de modificadores
? nombreMetodo (?)
throwsClause {?}
< modificadores > ::= public | protected | private | static | abstract |final | synchronized | native
El cuerpo incluye sentencias y una clusula return que devuelve undato del tipo declarado.
Estructuras de Datos y Algoritmos 31
Si el tipo es void entonces el mtodo nodevuelve nada, no incluye clusula return
7/28/2019 Introduccion a Java.pdf
32/46
Mtodos constructores
Tiene el mismo nombre que la clase y no devuelvenada No declara el tipo ni incluye clusula return
? NombreClase (parameterList) {
} ::= public | protected | private
Constructor por defecto: public, sin parmetros, est implcitoaunque no se defina, y llama al constructor sin parmetros de
la superclase
public Circulo(){
super();
}
super() referencia alconstructor de la superclase,que por defecto es Object()
7/28/2019 Introduccion a Java.pdf
33/46
Mtodos constructores
public Circulo(double radio, String color) {
this.radio = radio;
this.color = color;
}
public Circulo() {
this(RADIO_POR_DEFECTO, COLOR_POR_DEFECTO);
}
this referencia al objetosobre el que se invoca elmtodo. Evita el aliasing
de nombres
this() referencia aun constructor
Primera lnea de un constructor es una llamada a otroconstructor , mediante this() o super(). Sino, el
compilador inserta automticamente la invocacin alconstructor sin parmetros de la superclase :super().
7/28/2019 Introduccion a Java.pdf
34/46
Consultores y modificadores
public double getRadio() {
return radio;
}
public voidsetRadio(double nuevoRadio) {
radio = nuevoRadio;
}
Implementa los mtodos area() yperimetro(),haciendo uso del siguiente atributo de la claseMath:public static final double PI;
7/28/2019 Introduccion a Java.pdf
35/46
Paquetes
Mecanismo bsico para organizar un grupo de clasesque guardan alguna relacin entre si
package ;
Paquetes Java estndar : java.lang: contiene las clases bsicas (Integer, Math,
String, etc.). No es necesario importarlo.
java.util: contiene diversas utilidades (Random, Date,StringTokenizer, Scanner, etc.)
java.io: clases para manipular ficheros y canales de E/S
java.awt: contiene clases para disear interfaces grficasde usuario (Color, Graphics, etc.)
7/28/2019 Introduccion a Java.pdf
36/46
Paquetes en Java: utilizacin
Una clase Cen un paquetep se especifica como p.C
Para simplificar se usa import .*
O alternativamente, se importan slo las clases necesarias
public classmiClase{
java.util.Date fecha = new java.util.Date();}
import java.util.*;
public class Import {
Date fecha = new Date();}
import java.util.Date;
public class Import {
Date fecha = new Date();}
7/28/2019 Introduccion a Java.pdf
37/46
Paquetes en Java: reglas
Sea la clasep.C Las clases en Java se implementan en un fichero con el
mismo nombre que la clase y extensin .java: C.java
La primer lnea del fichero C.java es la declaracin delpaquete al cual pertenece, mediante la orden:package p;
El fichero C.java debe estar en el subdirectoriopdentro del directorio que contiene las fuentes
El subdirectoriop debe estar en la variable de entornoCLASSPATH
Normalmente los entornos dedesarrollo ( Eclipse, Netbeans ,
BlueJ ) ya gestionan el CLASSPATH
7/28/2019 Introduccion a Java.pdf
38/46
Modificadores de acceso
Modificadores de visibilidad: friendly: implcito (cuando no se especifica ningn
modificador), es visible dentro del paquete en el quese define
private: visible slo desde la propia clase protected: visible en las clases derivadas (subclases) y
dentro del paquete en el que se define public: visible desde cualquier sitio
Otros modificadores final: indica que no puede ser modificado static: comn a todos los objetos de una misma clase
No aplicablea clases
7/28/2019 Introduccion a Java.pdf
39/46
Modificadores de visibilidad
Modificador Misma clase Mismo
paquete
Subclases Otros
private
friendly
protected
public
7/28/2019 Introduccion a Java.pdf
40/46
Ocultacin de la informacin
Propiedad de ocultar atributos o mtodos a otros objetos.Algunos autores usan el trmino encapsulacin Se basa en la separacin entre especificacin e
implementacin.
En Java se consigue mediante el uso de modificadoresde visibilidad No es necesario conocer la implementacin de una clase
para usar objetos de esa clase, por eso en general serecomienda disear clases con
Atributos privados Mtodos pblicos para acceder o modificar los atributos
7/28/2019 Introduccion a Java.pdf
41/46
Mtodos estticos
Mtodos estticos impiden acceso a atributos noestticos .
Versin no esttica:
public static Color getColorPorDefecto() {
returnCOLOR_POR_DEFECTO;}
public static double area(double radio) {
returnMath.PI* radio * radio;
}
public double area() {
returnMath.PI*this.radio *this.radio;
}
7/28/2019 Introduccion a Java.pdf
42/46
Mtodos estticos
Los mtodos estticos pueden invocarse directamente sobrela clase, pues no acceden a atributos no estticos.
La versin no esttica requiere crear primero un objeto:
double area = Circulo.area(10.0);
Circulo c = new Circulo(10.0, Color.red);
double area = c.area();
7/28/2019 Introduccion a Java.pdf
43/46
Ejercicios propuestos
Escribe la clase Estadsticas, capaz decalcular la media y la desviacin tpica de unvector de nmeros.
Escribe clase ConversorFsico para convertirmagnitudes fsicas, por ejemplo dekilmetros a millas y viceversa
Escribe clase ConversorMonedas para
convertir monedas, por ejemplo de euros adlares y viceversa
Estructuras de Datos y Algoritmos 43
7/28/2019 Introduccion a Java.pdf
44/46
Ejercicio Propuesto
Implementar una clase que permita gestionar unconjunto de crculos (como mximo 10 crculos) Los crculos se guardarn en un vector de 10
elementos
El constructor debe crear un vector vaco
Consultores: leer el nmero de crculos insertados ypoder recuperar un crculo del vector dado su ndice
Modificadores: insertar un crculo en el vector (si haymenos de 10)
Mtodos toString() y equals()
7/28/2019 Introduccion a Java.pdf
45/46
Algunas convenciones
Identificadores de paquete:lowercase.for.all.components
Id. de clase e interfaz:CaptializedWithInternalWordsCapitalized
Id. de mtodo:firstWordLowercaseButInternalWordsCapitalized() Id. de variable:
firstWordLowercaseButInternalWordsCapitalized
Id. de constante: UPPER_CASE_WITH_UNDERSCORES Los identificadores no pueden empezar con un nmero
o signo #
7/28/2019 Introduccion a Java.pdf
46/46
Clases ejecutables
package ejemplos.tema1;
public class HolaMundo {
static final Stringmsg="Hola mundo";
/* Ejecucin requiere implementar mtodopublic static main con un parmetro de tipoString[] */
public static voidmain(String[] args) {
System.out.println(msg);
}
}
Es necesario instanciar la clase para ejecutar main ?