Respondendo a colega Tatá:
a) herança é um mecanismo que permite que uma classe derivada de uma superclasse herde, apenas, os métodos públicos desta.
INCORRETA, podemos herdar os métodos públicos, protegidos e default leve isso para hora da prova (Dificilmente as bancas cobram mais que isso, porém há uma enorme diferença entre VISIBILIDADE e HERANÇA, mas nem esquente com essa diferença)
.
b) polimorfismo é o princípio pelo qual duas ou mais classes derivadas de uma mesma superclasse podem invocar métodos que têm a mesma identificação, mas comportamentos distintos, especializados para cada classe derivada...
CORRETA, perfeita, bonita, sem mais, por isso é o GABARITO, pois está PERFEITA A DEFINIÇÃO!
.
c) encapsulamento é o mecanismo que oculta para as classes derivadas os detalhes internos do funcionamento dos métodos da superclasse correspondente.
INCORRETA, alternativa gerou muita polêmica, UNIRIO talvez siga o conceito FCC de menos errada, ou mais correta! Se a alternativa falasse: "encapsulamento é o mecanismo que oculta os detalhes internos do funcionamento dos métodos" ESTARIA PERFEITA E CORRETA, AI SIM A QUESTÃO SERIA ANULADA, porém veja que o examinador fez uma salada de frutas, misturou classes derivadas para enrolar o candidato, perceba que o examinador RESTRINGIU A ALTERNATIVA! encapsulamento .. oculta para as classes derivadas... mas e para a própria classe o encapsulamento não serve? CLARO QUE SERVE. Sei que alternativa é confusa, mas veja que houve RESTRIÇÃO sobre o conceito de encapsulamento.
.
d) o conceito de abstração define uma classe como sendo abstrata, quando ela herda de uma classe que não tem instâncias.
INCORRETA, uma salada de frutas, novamente, direto e reto classe abstrata é aquela que não permite instanciar um objeto nela.
.
e) as linguagens de programação orientadas a objetos suportam herança simples e herança múltipla.
INCORRETA, nem todas permitem herança múltipla, linguagem Java é o exemplo mais famoso.