You are on page 1of 79

Clases y Objetos

Objetivos de Aprendizaje
Explicar los conceptos de clases y objetos
Establecer la estructura y miembros de una
clase Java
Definir variables y mtodos en Java
Explicar los especificadores de acceso
Aprender a declarar mtodos miembros
Explicar la necesidad de y uso de
constructores para una clase
Objetivos de Aprendizaje
Explicar cmo los mtodos en una clase Java
pueden ser sobrecargados
Indicar cmo Java maneja los argumentos de lnea
de comandos
Explicar el ciclo de vida de un objeto
Describir el manejo de memoria en Java
Qu es una Clase?
Una clase es una entidad autocontenida que tiene
las definiciones de los atributos y el
comportamiento que son comunes a todos los
objetos de software de un tipo en particular
Los atributos se convierten en las variables y el
comportamiento se refleja con los mtodos en una
clase Java
A partir de una clase se pueden crear instancias
llamadas objetos
Qu es una Clase?
Bicicleta
Caracteristicas (variables)
N# de Ruedas Tipo de Ruedas Color Velocidad
Responsabilidades (mtodos)
acelerar desacelerar frenar Cambiar Velocidad
Estructura de una Clase
package transporte;//Opcional
import java.lang.String;//Opcional
class Bicicleta{
int nRuedas;
int tipoRuedas;
String color;
float velocidad;
public void acelerar(float a){}
public void desacelerar(float a){}
public void frenar(){}
public void cambiarVelocidad(int
v){}
}
Conjunto de
Caracteristicas
(variables miembro)
Responsabilidades
(mtodos)
Definicion
de la Clase
Miembros de una Clase
Los miembros de una clase (variables y mtodos)
pueden ser de dos tipos:
Miembros de Instancia
Miembros de Clase
Cada objeto perteneciente a una clase tiene su propia
copia de los Miembros de Instancia de la clase a la
que pertenecen
Todos los objetos pertenecientes a una clase
comparten los Miembros de Clase de la clase a la
que pertenecen
class Persona{
int ci;
static int numPersonas = 0;
public Persona(int numCi){
ci = numCi;
numPersonas++;
}
public int getCi(){return ci;}
public static int
getNumPersonas(){
return numPersonas;
}
}
La palabra reservada
static permite declarar
Variables de Clase
Los Mtodos de Clase slo
pueden acceder a
Miembros de Clase
Los miembros que no
poseen la clusula
static, son
considerados
Miembros de Instancia
Miembros de una Clase
Componentes de una Clase
Implementacin de la clase
{
}
Especifica las interfaces implementadas dentro
de la clase
implements interface
Especifica el nombre de la superclase extends superClase
Especifica el nombre de la clase class nombreClase
La clase no puede ser derivada final
La clase no puede ser instanciada abstract
La clase es pblicamente accesible public
Propsito Componentes
Qu es un Objeto?
Un objeto es una instancia de una clase
Ciclo de Vida de un Objeto
Usualmente en un programa Java, muchos
objetos son creados a partir de diferentes clases
y estos objetos interactan entre s enviando
mensajes
Despus de que el objeto completa el trabajo
para el cual fue creado, es recolectado como
basura y sus recursos liberados
Creacin
de Objetos
Uso
de Objetos
Destruccin
de Objetos
Creacin de Objetos
La creacin de un objeto es bsicamente la creacin de una
instancia de una clase, tambin conocido como instanciacin
de una clase
Persona p2 = new Persona(7897009);
Persona p1;
p1 = new Persona(13077876);
Los objetos de una
clase son creados a
travs del operador new
La declaracin
puede estar
separada de la
creacin
La inicializacin del objeto
se realiza por la llamada al
constructor de la clase
Miembros de un Objeto
Generalmente, para refererirse a los miembros de un objeto,
se puede agregar el nombre de la variable o referencia del
objeto con un punto (.) entre ellos.
class A{
public int m1;
private int m2;
public void setM2(int val){
m2 = val;
}
public static void main(String args[]){
A obj = new A();
obj.m1 = 32; // acceso a una variable
m.
obj.setM2(42);// acceso a una funcin
m.
}
}
Mtodos Getter y Setter
Se utilizan para acceder a propiedades de un
objeto.
class A{
private int m2;
public void setM2(int val){
m2 = val;
}
public int getM2(){
return m2;
}
}
Tipos de Variables en Java
Las variables disponibles en una clase pueden
ser de varios tipos:
Variables de instancia
Variables de clase
Variables final
Variables transient
Variables volatile
Variables locales
Mtodos en Java
Los mtodos disponibles en una clase pueden
ser de varios tipos:
Mtodos de instancia
Mtodos de clase
Mtodos abstractos
Mtodos final
Mtodos nativos
Mtodos sincronizados
Modificadores de Acceso
En Java, existen diferentes formas de controlar
el acceso a los miembros de una clase. Para
ello se utilizan los Modificadores de Acceso,
que son:
private
proctected
public
Sin modificador(se asume package)
Private
Un miembro especificado como private es
accesible slo dentro de la clase donde es definido
Se utiliza para mantener el estado del objeto
consistente
class Cuenta{
private float saldo; // Miembro
privado
public Cuenta() { saldo = 0; }
}
class Principal {
public static void main(String
args[]){
Cuenta c = new Cuenta();
c.saldo = 125; //Error,
miembro privado
}
}
Protected
Permite que un miembro sea accedido por la clase
en el que est definido, sus subclases y las clases
en el mismo paquete
class Padre{//Definida en el paquete p
protected int m1; // Miembro protegido
}
class Hijo extends Padre{//Definida en el
paquete p
public void setM1(int val){
m1 = val; // Correcto, es
protegida
}
}
class Otra{ //Definida en otro paquete
public static void main(String
args[]){
new Hijo().m1 = 20; //Error m1
no es accesible
}
}
Public
Cualquier clase perteneciente a cualquier
paquete tiene acceso a los miembros pblicos de
una clase
class Padre{
public int m1; // Miembro pblico
}
class Hijo extends Padre{
public void setM1(int val){
m1 = val; // Correcto, es
pblica
}
}
class Otra{
public static void main(String
args[]){
new Hijo().m1 = 20; //
Correcto, es pblica
}
}
Permite que un miembro sea accedido dentro
de la clase en la que est definido, y las clases
en el mismo paquete
class Padre{//Definida en el paquete p
int m1; // Miembro con acceso
package
}
class Hijo extends Padre{//Definida en
p
public void setM1(int val){
m1 = val; // Correcto
}
}
class Otra{//Definida en otro paquete
public static void main(String
args[]){
new Hijo().m1 = 20;
//Error m1 no es accesible
}
}
Package
Modificadores de Acceso
si
si
si
no
Clase mismo
Paquete
no
si
si
no
Subclase
otro paquete
no si si package
si si si public
no si si protected
no no si private
Clase otro
paquete
Subclase
mismo paquete
Clase Modificador
Declaracin de Miembros
Indica el tipo de datos al cual pertenece la variable tipo
Indica al compilador que el valor de la variable
puede cambiar en cualquier momento
volatile
Indica que la variable no debe ser serializada transient
Indica que la variable es una constante final
Indica la declaracin de una variable de clase static
Especifica el nivel de acceso a la variable Nivel de acceso
Propsito del Componente
Componentes de la Declaracin
de variables
Especifica el nivel de acceso al mtodo Nivel de acceso
Indica que la implementacin del mtodo est en algn otro lenguaje native
Indica el tipo de dato de la variable que es retornada por el mtodo y
el nombre del mtodo
tipoRetorno nombreMetodo
Da la lista de excepciones lanzadas por este mtodo. throws Excepciones
Lista de argumentos para el mtodo (lista de parmetros)
Indica que el mtodo requiere un monitor para ejecutarse synchronized
Indica que el mtodo no puede ser sobreescrito por su subclase final
Indica que la implementacin del mtodo no es proporcionada abstract
Indica la declaracin de un mtodo de clase static
Propsito del Componente
Componentes de la Declaracin
de mtodos
Declaracin de Miembros
Constructores de una Clase
Todos los objetos creados en Java tienen al menos un
constructor para inicializar un nuevo objeto creado a partir de
un tipo particular
class Persona{
int ci;
static int numPersonas = 0;
public Persona(){ci=0;}
public Persona(int numCi){
ci = numCi;
numPersonas++;
}
public getCi(){return ci;}
public static int getNumPersonas(){
return numPersonas;
}
}
Debe tener el
mismo nombre
de la clase
Podemos
tener tantos
constructores
como
queramos
Si no
proporcionamos
algn constructor,
Java lo hace
Sobrecarga de Mtodos
Java permite tener dos o ms mtodos con el mismo
nombre dentro de la misma clase, siempre que cumplan
con alguna de las siguientes premisas:
! Distinto numero de argumentos
! Diferencia en los tipos de datos de los argumentos
! Orden distinto en el que aparecen los argumentos
No basta con que el tipo de retorno sea distinto para
diferenciar a dos mtodos sobrecargados
Sobrecarga de Mtodos
1. public class A{
2. public int suma(int n1, int n2){
3. return ( n1 + n2 );
4. }
5. public int suma(int n1, int n2,
int n3){
6. return ( n1 + n2 + n3 );
7. }
8. public void suma(int n1, int n2){
9. System.out.println( n1 + n2
);
10. }
11.}
Nota: en la lnea 8 se genera un error
ya que el mtodo suma solo se diferencia en el
tipo de retorno
Mtodo suma
original
Mtodo suma
sobrecargado
perfectamente
Este Mtodo
suma genera
un error
Clases Anidadas
Una clase anidada es una clase cuya definicin
est dentro de otra clase
Si una clase contiene a una clase anidada, es
conocida como clase exterior.
Las clases anidadas tienen acceso total a los
miembros de su clase exterior, incluso a los
miembros privados.
Estas clases son consideradas miembro de la
clase contenedora.
Clases Anidadas
class A{
String mensaje = "miembro de A";
A(){
System.out.println("Clase
externa");
}
class B{
B(){
System.out.println("Clase Anidada");
System.out.println(objA.mensaje);
}
}
public static void main(String
args[]){
A objA = new A();
B objB = objA.new B();
}
}
Clase
exterior
Clase
anidada
Acceso a los
miembros de la
clase exterior
Argumentos de Lnea de Comandos
class LectorArgs{
public static void main(String args[]){
int numArgs = args.length;
for(int i = 0;i < numArgs;i++){
System.out.println(Argumento +i+:
+args[i]);
}
}
}
Desde la lnea de comandos, luego de haber compilado:
java LectorArgs hola mundo como
estas
Forma de pasar
argumentos
hola mundo como estas
args
0 1 2 3
Manejo de la Memoria en Java
Java da soporte a un manejo de memoria
automtico.
La memoria asignada a un objeto est disponible
para este, mientras el objeto este siendo usado.
Despus que el objeto se usa en un programa, el
recolector de basura lo reclama y la memoria
asignada a ste es liberada.
El recolector de basura es un hilo de baja prioridad
que se mantiene ejecutando en segundo plano en
una JVM.
Resumen
Se entendi el concepto de una clase
Se aprendi acerca del ciclo de vida de un objeto
Se di un breve vistazo a los modificadores de acceso
Se aprendi acerca de cmo declarar variables y mtodos
miembros
Se aprendi acerca acerca de la sobrecarga de mtodos
Se entendieron los argumentos de lnea de comandos
Se aprendi acerca del recolector de basura
Herencia
Objetivos de Aprendizaje
Entender los fundamentos de herencia
Aprender cmo usar el modificador super y this
Discutir acerca de cmo crear una jerarqua de herencia de
mltiples niveles
Explicar la sobrescritura de mtodos
Discutir acerca del uso de la palabra clave final para prevenir
la sobrescritura
Aprender a usar la palabra clave final para prevenir la
herencia
Fundamentos de Herencia
Usando este concepto se puede crear una clase general
que da la definicin de los rasgos comunes a un conjunto
de clases relacionadas
Permite crear una jerarqua de clasificaciones
En Java, la clase de la cual se hereda es llamada
superclase y la clase que hereda de otra clase es llamada
subclase
Para especificar que una clase hereda de otra clase, la
clase que hereda debe usar la palabra clave extends
despus del nombre de la clase en su declaracin
Fundamentos de Herencia
Transporte
Aereo Maritimo
Subclase
o
Clase Derivada
Superclase
o
Clase Base
Fundamentos de Herencia
class Transporte{
int color;
float velocidad;
int capacidad;
public Transporte(int c, int cap){
color = c; capacidad = cap;
}
}
class Aereo extends Transporte{
float altura;
public Aereo(int c, int cap, float a){
super(c,cap);
altura = a;
}
}
Fundamentos de Herencia
La herencia mltiple no es soportada por Java
Una subclase en una jerarqua puede llegar a ser una
superclase para otra clase
Una clase no puede ser una superclase de s misma
Cada subclase de una clase ser una forma especializada de
la superclase
Transporte
Aereo Maritimo
Helicoptero
Esta clase es
subclase de
Transporte y a la
vez es superclase
de Helicptero
Qu se Hereda?
Los miembros (variables y mtodos)
son heredados
Los constructores no son heredados
Los modificadores de acceso controlan el acceso a
los miembros, as los miembros privados de la clase
base, aunque son heredados no son accesibles
directamente por la subclase
La Clase java.lang.Object
Es la sper clase directa o indirectamente de todos las
clases en Java.
Los miembros (variables y mtodos) son heredados a
toda clase en Java
Posee mtodos importantes como: equals(),
hashcode(), toString()
La Clusula super
La palabra reservada super se utiliza para hacer
una llamada explcita al constructor de la clase
base desde la clase derivada
Tambin se puede usar para referir a los
miembros (variables y mtodos) de la superclase
La Clusula super
class Aereo extends Transporte{
float altura;
public Aereo(int c, int cap,
float a){
super(c,cap); /* Llamada
explicita al
constructor base */
altura = a;
}
public void setColor(int val){
super.color = val;/* Variable
miembro de
la
superclase */
}
}
La Clusula this
La palabra reservada this se utiliza para hacer
referencia a los miembros (variables y mtodos) de la
clase actual
class Aereo extends Transporte{
float altura;
public void setAltura(float
altura){
this.altura = altura;
}
}
Variable
miembro
Variable local
del mtodo
Herencia y Modificadores
de acceso
Una subclase puede acceder a todas las variables
y mtodos declarados como public y
protected de su superclase.
Si la superclase est presente en el mismo
paquete que la subclase, entonces la subclase
puede acceder a todas las variables y mtodos
declarados sin modificador(package por defecto)
en su superclase.
Orden de Construccin
de los Objetos
class X {
X(){ System.out.println(Objeto Padre");
}
}
class Y extends X {
Y(){ System.out.println(Objeto Hijo");
}
}
public class ConstructorOrderTest {
public static void main(String[] args) {
Y y = new Y();
}
}
Salida: Objeto Padre
Objeto Hijo
Sobrescritura de Mtodos
Es el proceso mediante el cual el contenido de un
mtodo de la superclase es editado en la subclase.
Esto se logra cumpliendo las siguientes premisas:
! Tener el mismo nombre de mtodo
! Tener el mismo nmero de parmetros
! Tener los mismos tipos de datos en cada
parmetro y en el mismo orden
! Tener el mismo tipo de retorno
Sobrescritura de Mtodos
class X {
public void mostrar(){
System.out.println(Objeto Padre);
}
}
class Y extends X {
public void mostrar(){
System.out.println(Objeto
Hijo");
}
}
Mtodo
sobrescrito en la
subclase
Mtodo original
de la superclase
Comportamiento Virtual y Herencia
En Java todos los mtodos son virtuales por
defecto.
Por virtual se entiende que todos los mtodos en
Java son polimrficos por naturaleza.
El comportamiento asociado con los mtodos
polimrficos se denomina comportamiento virtual,
ya que el comportamiento correcto es determinado
en tiempo de ejecucin.
Comportamiento Virtual y Herencia
class Padre{
public void mostrar(){
System.out.println("Superclase");
}
}
class Hijo extends Padre{
public void mostrar(){
System.out.println("Subclase");
}
public String method1(){ return "func"; }
public static void main(String args[]){
Padre obj = new Hijo();
obj.mostrar();
//System.out.println(obj.method1());
}
} Salida: Subclase
Esto
ocasionara
un error
Referencia
de la
superclase
La Clusula final
Se puede declarar una variable que tenga un valor
constante a travs del programa usando el
modificador final sobre la variable.
Cuando se usa con un mtodo, previene que el
mtodo sea sobreescrito
Cuando se usa con una clase, previene que la clase
sea heredada
La Clusula final
final class Cuenta{
protected float saldo = 0;
public final float interes = 10;
public final void setSaldo(float val){
saldo = (val>=0)?val:saldo;
}
}
class CuentaCorriente extends Cuenta{
private float numChequera;
public void cambiarInteres(){interes+=2;}
public void setSaldo(float val){
saldo = val;
}
}
Error, la clase
Cuenta no puede
ser heredada
Error, el valor de la
variable interes no
puede ser cambiado
Error, el mtodo
cambiarInteres() no
puede ser sobrescrito
Resumen
Se entendieron los fundamentos de la herencia
Se aprendi acerca de cmo usar el modificador
super
Se aprendi acerca de la sobrecarga y sobreescritura
de mtodos
Se discuti acerca del uso de la palabra clave final
Clases Abstractas
e Interfaces
Objetivos de Aprendizaje
Aprender acerca del modificador abstract
Entender los fundamentos de las clases y mtodos
abstractos
Conocer qu son las interfaces
Discutir acerca de la extensin de una interfaz
Aprender a usar interfaces como referencias
Modificador Abstract
Las clases abstractas sirven para definir
caractersticas genricas de un concepto
abstracto. Estas no pueden ser instanciadas
Un mtodo abstracto, es aquel donde la
implementacin no se encuentra en esa clase.
Slo pueden presentarse dentro de una clase
abstracta
Clases Abstractas Vs. Concretas
Provee implementacin para todos sus
mtodos
Puede proveer implementacin para
algunos de sus mtodos
No define mtodos abstractos Pueden definir mtodos abstractos
Pueden ser instanciadas No pueden ser instanciadas
Representan objetos del mundo real Generalizan clases concretas
Clases Concretas Clases Abstractas
Clases Abstractas
Mtodo abstracto
Mtodo con
implementacin
Clase abstracta
Clases Abstractas y Referencias
Aunque no se puede instanciar una clase
abstracta, se puede crear una referencia a ella
A esta referencia se le pueden asignar referencias
de subclases de la clase abstracta.
Esta caracterstica es muy til para realizar
polimorfismo
abstract class A{
abstract String metodo();
}
class B extends A{
String metodo(){return Mtodo}
public static void main(String args[]){
A obj1 = new B(); // Correcto
A obj2 = new A();// Error
}
}
Clases Abstractas y Referencias
Qu es una Interfaz?
Las interfaces son similares a las clase, pero no
tienen ninguna variable de instancia y no se
proporciona la implementacin para los mtodos
declarados en ella
Se usan bsicamente, para especificar que debe
hacer una clase, pero no cmo, de esto se encargan
las clases que implementen la interfaz
Qu es una Interfaz?
Una interfaz puede ser implementada por cualquier
nmero de clases y tambin una clase puede
implementar cualquier nmero de interfaces
Una interfaz puede extender a otra interfaz, as se
crean jerarquas de interfaces
Una interfaz no puede implementar otra interfaz
Una clase que implementa una interfaz y no
proporciona la implementacin para todos los
mtodos que estn definidos en la interfaz, entonces
debe ser declarada como abstracta
Qu es una Interfaz?
public interface Telefono{
void llamar(int tlf);
}
public interface Agenda{
void grabarNumero(String nombre,int tlf);
int buscarNumero(String nombre);
}
public class Celular implements Telefono, Agenda{
public void llamar(int tlf){
// cdigo para llamar }
public void grabarNumero(String nombre,int
tlf){
// cdigo para grabar}
public int buscarNumero(String nombre){
// cdigo para buscar}
public static void main(String args[]){
Telefono nokia = new Celular(); //
Correcto
}
}
Clase que
implementa
varias interfaces
Definicin de los
mtodos de las
interfaces
Interfaces
Variables en una Interfaz
Las variables en una interfaz se consideran constantes
que han sido inicializadas con valores deseados
Se puede hacer uso de las interfaces para importar
constantes compartidas en muchas clases
Se pueden declarar variables en una interfaz de la
siguiente manera:
public interface Constantes{
String errorMsg = ha ocurrido un
error;
final static String okMsg = Todo esta
bien;
}
Todas las variables de
una interfaz son final
y static por defecto
Heredar de una Interfaz
Solo una interfaz puede heredar de otra interfaz usando la
palabra clave extends
Una clase no puede heredar de una interfaz, slo puede
implementarla
Una jerarqua de herencia de interfaz puede hacerse en
forma similar a la jerarqua de herencia de clases
public interface A{...}
public interface B extends A{...} // OK
public interface C implements A{...}// Error
public class D implements A{...} // OK
public class E extends B{...} // Error
Resumen
Se aprendi acerca del modificador abstract
Se aprendi acerca de las clases y mtodos
abstractos
Se aprendi que son y cmo se define las interfaces
Se aprendi cmo implementar una interfaz
Se aprendi acerca de las variables en una interfaz
Se aprendi acerca de herencia en una interfaz
Paquetes
Objetivos de Aprendizaje
Conocer qu es un paquete
Aprender a definir un paquete
Entender cmo se representan los paquetes en el
sistema de archivos
Discutir la proteccin de acceso en paquetes
Entender cmo usar los miembros de paquete
Entender cmo importar paquetes
Conocer acerca del CLASSPATH y su uso
Tener una visin general de los paquetes incorporados
de Java ms usados
Qu es un Paquete?
Un paquete es un repositorio de clases e interfaces
relacionadas
El uso de paquetes permite tener dos o ms clases
con el mismo nombre en diferentes paquetes
Definen un espacio de nombres para guardar clases
Usando el comando package como la primera
sentencia en un archivo fuente Java se crea un
paquete
Esto asegura que cualquier clase declarada en ese
archivo pertenecer a ese paquete particular
Definicin de un Paquete
Un usuario puede construir una jerarqua de paquetes
Esto puede lograrse dividiendo un nombre de paquete de
otro directamente usando un punto (.)
package pack1.pack2.pack3;
Un punto importante es que la jerarqua de paquetes debe
mantenerse en el sistema de archivos subyacente
La jerarqua de paquetes del ejemplo anterior debe estar
presente como:
pack1/pack2/pack3 o pack1\pack2\pack3
Unix Windows
Paquetes y su representacin
en el Sistema de Archivos
Los paquetes usualmente se almacenan en directorios del
sistema de archivos, estn directamente relacionados con la
estructura fsica de los directorios. Si la clase C pertenece al
paquete x.y:
packake x.y;
public class C {...}
La clase C se compila y coloca en un directorio x\y bajo
algn directorio del sistema de archivos, por ejemplo:
\Ejemplos\x\y\C.class
Paquetes y Proteccin de Acceso
Java utiliza cuatro tipos de visibilidad para los
miembros de clase
Subclases en el mismo paquete
No subclasses en el mismo paquete
Subclases en diferentes paquetes
Clases no relacionadas en diferentes
paquetes
Paquetes y Proteccin de Acceso
si no no no
Diferente paquete no-
subclase
si si no no
Diferente paquete
subclase
si si si no
Mismo paquete
no-subclase
si si si no
Mismo Paquete
Subclase
si si si si Misma Clase
public protected Sin Modificador private
Usando Miembros de Paquetes
Slo los miembros pblicos de un paquete son
accesibles fuera del paquete en el que estn definidos
Para hacerlo, se debe seguir alguno de los siguientes
pasos:
! Referirse al miembro por su nombre largo
! Importar el miembro desde el paquete
! Importar el paquete completo
Usando Miembros de Paquetes
public class Pruebas{
public static void main(String args[]){
java.util.Vector v = new java.util.Vector();
v.addElement("Hola Mundo");
System.out.println((String)v.elementAt(0));
}
}
Estamos haciendo
referencia a Vector por
su nombre largo
Importando Paquetes
Referirse a las clases por su nombre largo puede ser un
proceso tedioso
Para evitar esto, Java provee la clusula import, que
permite hacer visible una clase o el conjunto de clases
en un paquete
La clusula import se coloca justo debajo de la
clusula package
La sintaxis de la sentencia import es la siguiente:
import pack1.[pack.](nombreClase|*);
Importando Paquetes
import java.util.Vector;
// import java.util.*;
public class Pruebas{
public static void main(String args[]){
Vector v = new Vector();
v.addElement("Hola Mundo");
System.out.println((String)v.elementAt(0));
}
}
Aqu importamos la
clase que queremos
utilizar, o en su defecto
el paquete completo
Qu es el CLASSPATH?
El CLASSPATH es una variable de ambiente que controla
la ubicacin particular que debe ser considerada por Java
como la raz de la jerarqua de paquetes
Los paquetes pueden resolver problemas de control de
acceso y conflictos de espacio de nombres, pero tambin
crean dificultades al compilar y ejecutar programas
Usualmente un usuario puede guardar todas las clases en
el paquete por defecto sin nombre
Esto permite al usuario el compilar el cdigo fuente y luego
ejecutar el intrprete de Java sin problemas
Esto se debe a que el directorio de trabajo (.) se encuentra
por defecto en el CLASSPATH
Algunos paquetes Java incorporados
java.awt
java.applet
java.beans
java.io
java.lang
java.math
java.text
java.util
java.net
java.rmi
java.sql
javax.swing
Resumen
Se aprendi qu es un paquete
Se aprendi a definir un paquete
Se aprendi acerca de la proteccin de acceso cuando
se usan paquetes
Se aprendi a usar miembros de paquetes
Se aprendi a importar paquetes
Se aprendi acerca del CLASSPATH y su uso
Se present una visin general de los paquetes
incorporados en Java

You might also like