package com.trifulcas.clases;
abstract public class Repaso {
private String nombre;
public void saludo() {
System.out.println("Hola");
}
// Método abstracto: contrato de obligación de implementar
abstract public void despedida();
}
class RepasoExt extends Repaso{
public void tonteria() {
System.out.println("Probando");
}
public void despedida() {
System.out.println("Adios");
}
}
class RepasoExt2 extends Repaso{
public void otraTonteria() {
System.out.println("Buuu");
}
@Override
public void despedida() {
System.out.println("Chao");
}
}
Uso:
package com.trifulcas.clases;
public class ProbarClases {
public static void main(String[] args) {
RepasoExt r = new RepasoExt();
RepasoExt2 r2 = new RepasoExt2();
// Esto da error porque es una clase abstracta
// Y no se pueden instanciar
// Repaso r3=new Repaso();
r.saludo();
r.tonteria();
r.despedida();
r2.saludo();
r2.otraTonteria();
r2.despedida();
System.out.println("----------");
Repaso[] lista= {new RepasoExt(),new RepasoExt2(),new RepasoExt()};
for(Repaso el:lista) {
el.despedida();
}
}
}