A classe MountainBike (.1) herda todos os campos e métodos d...
2
3 public int seatHeight;
4
5 public MountainBike (int startHeight, int startCadence, int startSpeed, int startGear) {
6 super(startCadence, startSpeed, startGear);
7 seatHeight = startHeight;
8 }
9
10 public void setHeight(int newValue) {
11 seatHeight = newValue;
12 }
13 }
Considerando o programa apresentado acima, julgue os itens a seguir com relação à linguagem de programação Java.
A subclasse não herdará os atributos private da superclasse.
Isso é estranho porque o cespe costuma adotar que os atributos private serão herdados porém não são visíveis na subclasse Exatamente Erik. Tanto que é possível acessar variáveis privadas através dos getters e setters.Exatamente Erik, vide a questão da prova mais recente do MPU, se não me falhe a memória.
Ao meu ver o erro reside em afirmar que a classe Bicycle é abstrata. Se assim fosse a invocação super (linha 6) não seria possível, visto que a superclasse abstrata Bicycle não possuiria instância.
Atributos privados são herdados mas não podem ser acessados diretamente pela subclasse. Lembre-se que a subclasse herda os métodos, e estes podem usar tais atributos.
Classe abstrata é usada quando se necessita de uma classe para implementar recursos comuns a duas ou mais classes