Analise o código abaixo. public class SuperClasse { public void metodo1() { System.out.println("Ola Mundo!"); } } public abstract class SubClasse extends SuperClasse { public void metodo1(int x) { System.out.println("Ola Mundo! " + x); } } public class SubSubClasse extends SubClasse { public void metodo1(String s) { System.out.println("Ola Mundo! " + s); } } public class SubSubClasse extends SubClasse { public void metodo1(String s) { System.out.println("Ola Mundo! " + s); } } Considerando o texto acima, avalie as afirmações abaixo. I – Considerando a herança, a classe SubSubClasse é uma classe abstrata. II – A classe SubClasse pode ser transformada em interface, apenas trocando "abstract class" por "interface". III – Um objeto da classe SubSubClasse tem acesso a 3 métodos diferentes, chamados "metodo1" . IV – Um objeto da classe SuperClasse tem acesso a apenas 1 método.
Respostas
respondido por:
5
Resposta:
Alternativa 5: II, III e IV, apenas.
Explicação:
"Ao contrário de interfaces, classes abstratas podem conter campos
(atributos) que não são static e final, e elas podem conter métodos não abstratos implementados."
Ou seja apenas trocando "abstract class" por "interface" irá gerar um erro porque o método da classe não é abstrato e está com implementação.
Perguntas similares
5 anos atrás
5 anos atrás
7 anos atrás
7 anos atrás
8 anos atrás
8 anos atrás
"Ao contrário de interfaces, classes abstratas podem conter campos
(atributos) que não são static e final, e elas podem conter métodos não abstratos implementados."
Ou seja apenas trocando "abstract class" por "interface" irá gerar um erro porque o método da classe não é abstrato e está com implementação.