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(); } } }