class Putter {
public static void main(String[] args) {
Bango b1 = new Bango();
Bango b2 = new Bongo();
Bango b3 = new Bingo();
\\insert code
}
}
cass Bango { }
cass Bongo extends Bango { }
cass Bingo extends Bongo { }
Qual dos código a seguir, se substituirmos ao \\insert code, não irá compilar o código?
A. Bongo b4 = b2;
B. Bongo b5 = (Bongo) b2;
C. Bango b6 = b3;
D. Bango b7 = (Bango) b3;
E. Bingo b8 = b3;
F. Bingo b9 = (Bingo) b3;
G. Bango b10 = (Bongo) b3;
Analisando uma a uma: (A) b2 é um Bango, logo, para poder atribuir a Bongo, precisa de um Casting (Bongo), como é feito na opção (B). A opção (C) b6 e b3 são do tipo Bango, na (D) é feito o Casting, já na (E) acontece o mesmo que na (A), ou seja, b8 é um Bingo e b3 um Bango, necessitando de um casting. (F) está sendo um casting correto e na (G) é feito um casting do Bongo, que é um Bango.
Nenhum comentário:
Postar um comentário