Hola,
Aquí dejo mi ejercicio del Tema "CU00695B clases abstractas java métodos abstract class api ejemplo ejercicio" para su corrección:
Superclase Persona:
/**
 * EJERCICIO DE HERENCIAS + CLASES Y MÉTODOS ABSTRACTOS.<br>
 * Esta Clase define una Superclase de la que "beberan" otras clases.<br>
 * Clase 1 del Ejercicio del Tema "CU00695B clases abstractas java metodos abstract class api ejemplo ejercicio".
 * @author Lorenzo Fernández Asensio
 * @version 20151209.01
 */
public class Persona_CU00695B {
    // Inicialización de Atributos
    private String nombre;
    private String apellidos;
    private int edad;
    /**
     * Constructor 1 del Producto - Atribututos sin asignación de Valores
     * @param nombre El parámetro nombre define el Nombre de la Persona
     * @param apellidos El parámetro apellidos define los Apellidos de la Persona
     * @param edad El parámetro edad define la edad de la Persona
     */
    public Persona_CU00695B() {
        nombre = "";
        apellidos = "";
        edad = 0;
    } // Cierre del constructor 1
    /**
     * Constructor 2 del Producto - Atribututos con asignación de Valores
     * @param nombre El parámetro nombre define el Nombre de la Persona
     * @param apellidos El parámetro apellidos define los Apellidos de la Persona
     * @param edad El parámetro edad define la edad de la Persona
     */
    public Persona_CU00695B (String nombre, String apellidos, int edad) {
        this.nombre = nombre;
        this.apellidos = apellidos;
        this.edad = edad;
    } // Cierre del constructor 2
    /**
     * Método para para obtener la Nombre de la Persona
     * @return El Nombre de la Persona
     */
    public String getNombre() {return nombre;}
    /**
     * Método para para obtener los Apellidos de la Persona
     * @return Los Apellidos de la Persona
     */
    public String getApellidos() {return apellidos;}
    /**
     * Método para para obtener la Edad de la Persona
     * @return La Edad de la Persona
     */
    public int getEdad() {return edad;}
    /**
     * Método para para obtener los datos de la Persona
     * @return Los datos de la Persona
     */
    public String toString() {
        /* Se transforma edad en un Integer para poder aplicarle el método toString().
         * De otra manera no se puede hacer por ser edad un tipo primitivo.*/
        Integer datoEdad = edad;
        // Se devuelve uns String con los datos de la Persona
        return "- ".concat(nombre).concat(" ").concat(apellidos)
        .concat(" de ").concat(datoEdad.toString().concat(" años,") );
    } // Cierre del método para para obtener los datos de la Persona
    
} //Cierre de la clase
Subclase Abstracta Legislador:
/**
 * EJERCICIO DE HERENCIAS + CLASES Y MÉTODOS ABSTRACTOS.<br>
 * Esta Clase define una Subclase Abstracta que "bebe" de la Superclase Persona_CU00695B.<br>
 * Clase 2 del Ejercicio del Tema "CU00695B clases abstractas java metodos abstract class api ejemplo ejercicio".
 * @author Lorenzo Fernández Asensio
 * @version 20151209.01
 */
public abstract class Legislador_CU00695B extends Persona_CU00695B {
    // Campos específicos de la subclase.
    private String provinciaQueRepresenta,
                    idLegislador;
    int antiguedad;
    /**
     * Constructor 1 del Profesor - Atribututos sin asignación de Valores
     * @param provinciaQueRepresenta El parámetro provinciaQueRepresenta define la Provincia a la que representa el Legislador
     * @param idLegislador El parámetro idLegislador define el Cod. Identificativo del Legislador
     * @param antiguedad El parámetro antiguedad define los años de antiguedad del Legislador
     */
    public Legislador_CU00695B () {
        super();
        provinciaQueRepresenta = "";
        idLegislador = "";
        antiguedad = 0;
    } // Cierre del constructor 1
    /**
     * Constructor 2 del Profesor - Atribututos con asignación de Valores
     * @param provinciaQueRepresenta El parámetro provinciaQueRepresenta define la Provincia a la que representa el Legislador
     * @param idLegislador El parámetro idLegislador define el Cod. Identificativo del Legislador
     * @param antiguedad El parámetro antiguedad define los años de antiguedad del Legislador
     */
    public Legislador_CU00695B (String nombre, String apellidos, int edad, String provinciaQueRepresenta,String idLegislador, int antiguedad) {
        super(nombre, apellidos, edad);
        this.provinciaQueRepresenta = provinciaQueRepresenta;
        this.idLegislador = idLegislador;
        this.antiguedad = antiguedad;
    } // Cierre del constructor 2
    // METODOS ESPECIFICOS DE LA SUBLASE
    /** Método para establecer la Provincia Que Representa el Legislador
     * @param provinciaQueRepresenta El parámetro provinciaQueRepresenta define el valor que contendrá la Provincia Que Representa el Legislador
     */
    public void setProvinciaQueRepresenta (String provinciaQueRepresenta) {this.provinciaQueRepresenta = provinciaQueRepresenta;}
    
    /** Método para establecer el id del Legislador
     * @param idLegislador El parámetro idLegislador define el valor que contendrá el Cod. Identificativo del Legislador
     */
    public void setIdLegislador (String idLegislador) {this.idLegislador = idLegislador;}
    
    /** Método para establecer la Antiguedad del Legislador
     * @param antiguedad El parámetro antiguedad define el valor que contendrá la Antiguedad del Legislador
     */
    public void setAntiguedad (int antiguedad) {this.antiguedad = antiguedad;}
    
    /** Método para obtener la Provincia Que Representa el Legislador
     * @return La provincia a la que representa el Legislador
     */
    public String getProvinciaQueRepresenta() {return provinciaQueRepresenta;}
    
    /** Método para obtener el id del Legislador
     * @return El Código Identificativo del Legislador
     */
    public String getIdLegislador() {return idLegislador;}
    
    /** Método para obtener la Antiguedad del Legislador
     * @return La antiguedad del Legislador
     */
    public int getAntiguedad() {return antiguedad;}
    
    /**
     * Método Abstracto para la camara en la que trabaja el Legislador
     */
    // Método abstracto (definido como abstract y sin cuerpo)
    abstract public String getCamaraEnQueTrabaja(); 
    
    /**
     * Método para para obtener los datos del Legislador
     * @return Los datos del Legislador
     */
    public String toString () {
        /* Se transforma antiguedad en un Integer para poder aplicarle el método toString().
         * De otra manera no se puede hacer por ser antiguedad un tipo primitivo.*/
        Integer datoAntiguedad = antiguedad;
        // Se devuelve uns String con los datos de Persona + los de Legislador
        return super.toString().concat(" con Cod. identificativo ").concat(idLegislador)
        .concat(" y con ").concat(datoAntiguedad.toString().concat(" años representando a la Provincia de ").concat(provinciaQueRepresenta));
    }// Cierre del método para obtener los datos del Profesor
} //Cierre de la clase
Subclase Diputado:
/**
 * EJERCICIO DE HERENCIAS + CLASES Y MÉTODOS ABSTRACTOS.<br>
 * Esta Clase define una Subclase que "bebe" de la Superclase Legislador_CU00695B.<br>
 * Clase 3 del Ejercicio del Tema "CU00695B clases abstractas java metodos abstract class api ejemplo ejercicio".
 * @author Lorenzo Fernández Asensio
 * @version 20151209.01
 */
public class Diputado_CU00695B extends Legislador_CU00695B {
    
    // No hay campos específicos de la subclase.
    
    /**
     * Constructor 1 del Diputado - Atribututos sin asignación de Valores
     */
    public Diputado_CU00695B () {
        super();
    } // Cierre del constructor 1
    /**
     * Constructor 2 del Diputado - Atribututos con asignación de Valores
     */
    public Diputado_CU00695B (String nombre, String apellidos, int edad, String provinciaQueRepresenta,String idLegislador, int antiguedad) {
        super(nombre, apellidos, edad, provinciaQueRepresenta, idLegislador, antiguedad);
    } // Cierre del constructor 2
    
    /**
     * Método Abstracto que redefine (obligatoriamente han de hacerlo) el método abstracto getCamaraEnQueTrabaja() de la superclase.
     * @return En que Cámara trabaja el Diputado
     */
    public String getCamaraEnQueTrabaja() { return " en la Cámara del Congreso.";} //Método abstracto sobreescrito en esta clase
    
    /**
     * Método para para obtener los datos del Diputado
     * @return Los datos del Diputado
     */
    public String toString () { // Sobreescritura del método
        return super.toString().concat (getCamaraEnQueTrabaja());}
} //Cierre de la clase
Subclase Senador:
/**
 * EJERCICIO DE HERENCIAS + CLASES Y MÉTODOS ABSTRACTOS.<br>
 * Esta Clase define una Subclase que "bebe" de la Superclase Legislador_CU00695B.<br>
 * Clase 4 del Ejercicio del Tema "CU00695B clases abstractas java metodos abstract class api ejemplo ejercicio".
 * @author Lorenzo Fernández Asensio
 * @version 20151209.01
 */
public class Senador_CU00695B extends Legislador_CU00695B {
    
    // No hay campos específicos de la subclase.
    
    /**
     * Constructor 1 del Senador - Atribututos sin asignación de Valores
     */
    public Senador_CU00695B () {
        super();
    } // Cierre del constructor 1
    /**
     * Constructor 2 del Senador - Atribututos con asignación de Valores
     */
    public Senador_CU00695B (String nombre, String apellidos, int edad, String provinciaQueRepresenta,String idLegislador, int antiguedad) {
        super(nombre, apellidos, edad, provinciaQueRepresenta, idLegislador, antiguedad);
    } // Cierre del constructor 2
    
    /**
     * Método Abstracto que redefine (obligatoriamente han de hacerlo) el método abstracto getCamaraEnQueTrabaja() de la superclase.
     * @return En que Cámara trabaja el Senador
     */
    public String getCamaraEnQueTrabaja() { return " en la Cámara del Senado.";} //Método abstracto sobreescrito
    
    /**
     * Método para para obtener los datos del Senador
     * @return Los datos del Senador
     */
    public String toString () { // Sobreescritura del método
        return super.toString().concat (getCamaraEnQueTrabaja());}
} //Cierre de la clase
Clase Lista Legisladores:
import java.util.ArrayList;
import java.util.Iterator;
/**
 * EJERCICIO DE HERENCIAS + CLASES Y MÉTODOS ABSTRACTOS.<br>
 * Esta Clase define una Subclase que "bebe" de las Superclases intermedias de tipos de Legisladores.<br>
 * Clase 5 del Ejercicio del Tema "CU00695B clases abstractas java metodos abstract class api ejemplo ejercicio".
 * @author Lorenzo Fernández Asensio
 * @version 20151209.01
 */
public class ListaLegisladores_CU00695B {
    
    // Inicialización de la Colección
    private ArrayList <Legislador_CU00695B> listaLegisladores; //Campo de la clase
    
    /**
     * Constructor de la Colección Lista de Legisladores.
     * @param listaLegisladores El parámetro listaLegisladores define la colección de la Lista de Legisladores
     */
    public ListaLegisladores_CU00695B () {
        // Creación de la Colección
        listaLegisladores = new ArrayList <Legislador_CU00695B> ();
    } // Cierre del Constructor
    
    /**
     * Método para añadir un legislador a la Colección
     * @param legisladorNuevo El parámetro legisladorNuevo define el Legislador que se añade a la Colección
     */
    public void addLegislador (Legislador_CU00695B legisladorNuevo) {
        listaLegisladores.add(legisladorNuevo);
    } // Cierre del método para añadir un legislador a la Colección
    
    /**
     * Método para mostrar por pantalla la Información usando un For Extendido
     */
    public void imprimirListado() {
        
        // Se limpia la pantalla de la Consola
        System.out.println("\f");
        
        // Se Muestra en pantalla un mensaje de Inicio
        System.out.println ("En la actualidad, tenemos los siguientes Legisladores:");
        
        // Se recorre la lista mostrando los datos 
        for (Legislador_CU00695B tmp: listaLegisladores) {
            // Se realiza una llamada al método "toString" del objeto en curso
            System.out.println (tmp.toString());
        }
        
    } //Cierre método imprimirListin
    
} //Cierre de la clase
Clase Test:
/**
 * EJERCICIO DE HERENCIAS + CLASES Y MÉTODOS ABSTRACTOS.<br>
 * Esta Clase define una clase test para probar Herencias y Clase & Métodos Abstractos.<br>
 * Clase 6 del Ejercicio del Tema "CU00695B clases abstractas java metodos abstract class api ejemplo ejercicio".
 * @author Lorenzo Fernández Asensio
 * @version 20151209.01
 */
public class TestAbstractLegis_CU00695B {
    public static void main (String [ ] Args) {
        
        
        // Creación de varios Diputados
        Diputado_CU00695B Diputado1 = new Diputado_CU00695B ("Adrian", "De las Heras Cortes", 57, "Barcelona", "BAR-35752", 7);
        Diputado_CU00695B Diputado2 = new Diputado_CU00695B ("Celia", "Jimenez Ladrillo", 63, "Sevilla", "SEV-7841", 14);
        Diputado_CU00695B Diputado3 = new Diputado_CU00695B ("Felix", "Garcia Trujillo", 58, "Badajoz", "BAD-459", 3);
        
        // Creación de varios Senadores
        Senador_CU00695B senador1 = new Senador_CU00695B ("Maria de la O", "Abellan Ruiz", 46, "Salamanca", "BSAL-4978", 1);
        Senador_CU00695B senador2 = new Senador_CU00695B ("Ramón", "Guitarra Espada", 69, "Murcia", "MUR-1599", 8);
        Senador_CU00695B senador3 = new Senador_CU00695B ("Margarita", "Sanchez Raspa", 51, "Huelva", "HUE-1994", 5);
        
        // Creación de un objeto Lista de Legisladores
        ListaLegisladores_CU00695B listaLegisladores = new ListaLegisladores_CU00695B ();
        
        // Se Añaden a la lista los Diputados
        listaLegisladores.addLegislador(Diputado1);
        listaLegisladores.addLegislador(Diputado2);
        listaLegisladores.addLegislador(Diputado3);
        
        // Se Añaden al listin los Senadores
        listaLegisladores.addLegislador(senador1);
        listaLegisladores.addLegislador(senador2);
        listaLegisladores.addLegislador(senador3);
        
        // Se realiza llamada al método "imprimirListado" de la clase "listaLegisladores" para imprimirlo
        listaLegisladores.imprimirListado();
            
    } // Cierre del main
} // Cierre de la clase
Como siempre, espero vuestros comentarios.
Muchas Gracias,
Un Saludo,