Secci N 1 Declaraci N Inicializaci N Y Alcance
Inicialización y Alcance (scoping)
Reglas de Declaración (Objetivo 1.1)
• Un archivo fuente solo puede tener una clase
public.
• Si el archivo fuente contiene una clase public,
el nombre del archivo debe ser igual al de la
clase pública.
• Un archivo fuente solo puede tener una
sentencia package pero múltiples import.
• La sentencia package (si la hay), debe ser laprimera línea en el archivo fuente.
Reglas de Declaración (Objetivo 1.1)
• Las sentencias import (si las hay), deben situarse
después de package y antes de la declaración de la
clase.
• Si no hay sentencia package, las sentencias import
deben ser las primeras en el archivo fuente.
• package e import aplican a todas las clases en el
archivo.
• Un archivo puede tener mas de una clase no pública.
• Losarchivos sin una clase public no tienen restricciones
de nombres.
Modificadores de acceso (Objetivo 1.1)
• Hay 3 modificadores de acceso: public,
protected y private.
• Hay 4 niveles de acceso: public, protected,
default y private.
• Las clases pueden tener solo acceso public y
default.
• Un clase con acceso default puede solo ser
vista en las clases con el mismo paquete.
Modificadores deacceso
Modificadores de acceso (Objetivo 1.1)
• Una clase con acceso public puede ser vista
por todas las clases de todos los paquetes.
• La visibilidad de la clase gira en torno a si el
código en una clase puede:
– Crear una instancia de otra clase.
– Ampliar (subclase), de otra clase.
– Acceso a los métodos y variables de otra clase.
Implementando una interfaz (Objetivo 1.2)
• Cuando seimplementa una interfaz, se está
comprometido a cumplir con un contrato.
• Se deben sobrescribir adecuada y
concretamente todos lo métodos definidos en
la interfaz.
• Una clase simple puede implementar muchas
interfaces.
Modificadores de clases (No de acceso)
(Objetivo 1.2)
• La clases pueden ser también modificadas con
final, abstract y strictfp.
• Un clase no puede tener al mismo tiempo
final yabtract.
• Un clase con final no puede ser extendida.
• Un clase con abstract no pude ser instanciada.
Modificadores de clases (No de acceso)
(Objetivo 1.2)
• Un método con abstract dentro de una clase,
significa que toda la clase debe ser abstracta.
• Una clase abstract puede tener metodos
abstractos y no abstractos.
• La primera clase que extiende a una clase
abstracta, debe implementar todos losmétodos abstractos.
• ¿Cuáles son las diferencias entre una interfaz y
una clase abtracta?
Implementación de Interfaces
(objetivo 1.2)
• Las interfaces son contratos de que puede
hacer una clase, pero no dicen nada de cual
camino debe tomar la clase.
• La interfaces pueden ser implementadas por
cualquier clase de cualquier árbol de herencia.
• Un interface es 100% una clase abstracta, y
tieneimplícitamente el modificador abstract
(puede escribirse o no).
Implementación de Interfaces
(objetivo 1.2)
• Una interface puede tener solo métodos
abstractos, no son permitidos métodos
concretos.
• Los métodos de las interfaces por default son
public y abtract, la declaración explicita es
opcional.
• Las interfaces pueden tener constantes, las cuales
siempre son implícitamente public staticfinal.
• Los modificadores public static final de las
constantes en las interfaces, son opcionales y
pueden ser cualquier combinación.
Implementación de Interfaces
(objetivo 1.2)
• Una implementación válida de una clase no
abstracta, tiene las siguientes propiedades:
– Proveer la concreta implementación de los métodos
de la interfaz.
– Se debe seguir todas las reglas de sobrescritura de losmétodos que se implementan.
– No se debe declarar ninguna nueva excepción
comprobada.
– No se deben declarar excepciones comprobadas de
jerarquía mayor que las que se encuentran declaradas
en el método de la interfaz.
Implementación de Interfaces
(objetivo 1.2)
• Se pueden declarar excepciones en tiempo de
ejecución en cualquier método
implementado, sin tener en cuenta la
declaración dentro de la...
Regístrate para leer el documento completo.