A implementação de herança múltipla em Java não é possível.

Próximas questões
Com base no mesmo assunto
Q65814 Programação
Com relação à programação Java, julgue os próximos itens.

A implementação de herança múltipla em Java não é possível.
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: C - certo

A herança múltipla é um conceito da programação orientada a objetos onde uma classe pode herdar atributos e métodos de mais de uma classe pai. No entanto, em Java, a herança múltipla de classes não é permitida. Isso foi uma decisão de design dos criadores da linguagem para evitar a complexidade e problemas associados com a herança múltipla, como a ambiguidade que surge quando duas classes pai possuem métodos com a mesma assinatura.

Para abordar problemas que normalmente seriam resolvidos com herança múltipla, Java oferece um recurso alternativo chamado interfaces. Uma interface é um contrato que define um conjunto de métodos abstratos que a classe que a implementa deve fornecer. Em Java, enquanto uma classe só pode estender uma única classe pai (extends), ela pode implementar várias interfaces (implements). Isso oferece um modo de alcançar um efeito semelhante à herança múltipla, sem os problemas associados a ela.

Portanto, a afirmação de que a implementação de herança múltipla em Java não é possível está correta, pois Java não suporta herança múltipla diretamente através de classes, mas sim através do uso de interfaces, proporcionando polimorfismo e a capacidade de uma classe interagir com múltiplas hierarquias de tipos.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

Java por motivos de simplicidade, abandona a idéia de herança múltipla, cedendo lugar ao uso de interfaces.

Interfaces são um conjunto de métodos e constantes (não contém atributos).

Os métodos definidos na interfacesão "ocos" ou desprovidos de implementação.

Classes podem dizer que implementam uma interface, estabelecendo um compromisso, uma espécie de contrato, com seus clientes

no que se refere a prover uma implementação para cada método da referida interface.

fonte: http://www.ic.unicamp.br/~cmrubira/aacesta/java/javatut10.html

Vejam essa questão do próprio Cespe, que parece divergir sobre o tema:

Q83144 (Detran ES 2010)


http://www.questoesdeconcursos.com.br/questoes/889af5fa-30

A herança de interfaces consiste no único caso de herança múltipla permitida a uma classe em Java, visto que, em geral, não é possível que uma classe pai tenha o mesmo nome de método de outra classe pai.

Gabarito: C
 

Fabio, é exatamente isto que a questão quer dizer. O ÚNICO CASO de herância múltipla é através de interfaces, e se chama Herança múltipla de tipos(não chega a ser uma Herança múltipla "pura"). Ademais, o comportamento PADRÃO é a herança simples.

Oracle - Interfaces Java - https://docs.oracle.com/javase/tutorial/java/IandI/createinterface.html

Oracle - Herança(subclasses) - https://docs.oracle.com/javase/tutorial/java/IandI/subclasses.html

Oracle - Heranças múltiplas - https://docs.oracle.com/javase/tutorial/java/IandI/multipleinheritance.html . Citando: "One reason why the Java programming language does not permit you to extend more than one class is to avoid the issues of multiple inheritance of state, which is the ability to inherit fields from multiple classes...."
"...The Java programming language supports multiple inheritance of type, which is the ability of a class to implement more than one interface. An object can have multiple types: the type of its own class and the types of all the interfaces that the class implements. This means that if a variable is declared to be the type of an interface, then its value can reference any object that is instantiated from any class that implements the interface. This is discussed in the section..."

correto - foi decidido contra herança múltipla devido ao problema do diamante, o que é uma subclasse herdar 1 método com mesmo nome de 2 super classes, o que gera o impasse de não saber qual dos 2 metodos sera implementado. 

Eu acertei, mas sinceramente acho Java uma linguagem péssima para ser cobrada em concurso. Principalmente em questões de conceito com certo/errado, visto que muitos dos conceitos Padrão tem suas regras quebradas, tornando algumas questões muito difíceis de interpretar. Você tem que gravar a regra e as exceções.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo