Informática, perguntado por cojaque2, 8 meses atrás

A herança é uma das principais caraterísticas da orientação a objetos. Veja o código a seguir.
Arquivo Fungo.java:

public class Fungo extends SerVivo {
}

Arquivo Principal.java:

public class Principal {
public static void main(String[] args) {
Fungo fg = new
Fungo(); fg.exibeDados();
}
}
Considerando o texto e o código anterior, avalie as afirmações a seguir.
I – A linha "fg.exibeDados();" na classe principal acarretará em erro, pois é um método não declarado.
II – Não dá para afirmar que dará erro na chamada do método "exibeDados()" sem conhecer a superclasse SerVivo.
III – Se a classe Fungo estiver no mesmo pacote que a classe Principal, não é necessário importar a classe Fungo na classe Principal com "import".
IV – A classe SerVivo não possui atributos ou métodos. É correto o que se afirma em:

Soluções para a tarefa

Respondido por PedroPingola
8

Resposta:

I - F

II - V

III - V

IV - F

Explicação:

I - Falso, pois a unica forma de exibeDados() acarretar em erro seria se esse método fosse abstrato, porém, para isso, esse método devia ser declarado na class Fungo.

II - Mesma explicação da I.

III - Por definição, se duas classes estiverem no mesmo pacote não é preciso importar uma no outra.

IV - Não é possível saber sem olhar a classe SerVivo, mas se consideramos que esse código não vai dar nenhum erro na hora de compilar, e que o método exibeDados está declarado e que a superclasse máxima da classe Fungo é a SerVivo, lá deverá estar declarado o método exibeDados.

OBS: A II pode ser falsa, pois o código não sera compilado, assim impossibilitando de dar erro na chamada do método.


Guggenheim: pq a 1 é falsa? na questão nao é especificando onde deve ser declarado. só que este deve ser declarado. exibeDados() é um método não declarado.
Perguntas interessantes