Ola pessoal!
Quando eu tenho uma classe abstrata herdando de outra classe abstrata como, por exemplo:
public abstract class Funcionario {
        protected String nome;
        protected String cpf;
        protected double salario;
        public abstract double getBonificacao() {
        }
    public String setNome(String nome){
    this.nome = nome;
    }   
}e
public abstract class Secretaria extends Funcionario {
}Os metodos abstratos da superclasse (Funcionario) não precisam ser implementados novamente na classe Secretária né?
E se eu tiver uma classe Programador herdando da classe Funcionario, ele não precisa obrigatoriamente ter o metodo setNome pois somente metodos abstratos das superclasses obrigam às suas classes filhas à implementar estes tipos de metodos, seria isso?
 
            