SóProvas


ID
2805496
Banca
CS-UFG
Órgão
Câmara de Goiânia - GO
Ano
2018
Provas
Disciplina
Programação
Assuntos

Sejam as classes seguintes escritas em Java:


class A {int x; A(){setX(10);} int getX(){return x;} void setX(int y) {x=y;}}

class B extends A {B(){ x+=100; }}

class C extends B { C(){ this(10); x*=2; } C(int y) {setX(y+getX());}}


A execução da sentença new C().getX() retorna o valor

Alternativas
Comentários
  • Quem não tem acesso:  - -> D

  • Alguém pode me explicar, por favor?

  • Thiago, essa questão realmente deu trabalho para eu entender tb, mas no geral, quando vc chama o construtor de C, ele automaticamente chama os construtores de B e A, para que as variáveis sejam inicializadas. Assim, depois do "this(c)", ele volta para construtor de C quem parâmetro (sobrecarga de construtor), pois chama o construtor B q este chama o A que este inicializa os restos da variáveis, depois é só seguir a sequência da pilha. Espero q vc tenha entendido.


    Eu tirei a resposta desse site que explica herança e construtores: http://www.javaprogressivo.net/2012/10/heranca-de-construtores-e-override.html


    Espero que ajude a galera tb.


    valeu.



  • Custa indentar esta merd@???????