Documente Academic
Documente Profesional
Documente Cultură
fig = tri;
fig.mostrarNombre();
System.out.println("Area triangulo: "+fig.area());
ancho ancho
alto alto
rect rect
x x
y y
otroRect otroRect
ancho ancho
alto alto
Java Clases y objetos BFM 32
Interfaces
• Sólo declaran comportamiento
• Se utiliza la palabra clave interface
• Por defecto todos sus métodos son públicos y abstractos
– No implementan el comportamiento
• Por defecto todos sus atributos son públicos, constantes y de clase
– Por legibilidad normalmente los declaramos static y final
• Permite simular algunos aspectos de la herencia múltiple
• Define un tipo de datos
• Posibilita la vinculación dinámica
• Otras clases pueden implementar un interfaz
• Cualquier clase que implemente un interfaz debe definir todos los métodos
de dicho interfaz
– Debe proporcionar la implementación de dichos métodos
• Si la clase no proporciona la implementación para todos los métodos del
interfaz debe ser declarada como abstracta
interface Nombrable {
static final boolean CIERTO = true;
public void mostrarNombre();
}
Ejemplo: es.ucm.sip.cursoJava
import java.util.Date;
class ImprimeFecha2 {
public static void main () {
Date ahora = new Date();
System.out.println(ahora);
}
}
Java Clases y objetos BFM 39
Importación de clases
• No es necesario para el paquete java.lang
– Por defecto: import java.lang.*
• * permite referirse a todas las clases e interfaces de un paquete
import java.*; // ERROR: no vale para paquetes