abstract class D {String s1 = "D"; String getS1() {return s1;}}
class E extends D {String s1 = "E"; String getS1() {return s1;}}
class F {
public static void main (String[] s) {
D x = new E(); System.out.print(x.s1 + x.getS1());
}}
What is the result of attempting to compile and run the program?
a. Prints: DD
b. Prints: DE
c. Prints: ED
d. Prints: EE
e. Run-time error
f. Compile-time error
g. None of the above
letra B tb! System.out.print(x.s1 + x.getS1());
em x.s1 eh a versão da classe D
em x.getS1() eh a versão da classe E
F
fabiostbPJ
ele vai imprimir “DE”, visto q campos ele pega da super e metodos da sub
S
shadowPJ
valou e disse fofao!!! :yyeah: :yyeah: :yyeah: :yapl: :yapl: :yapl:
S
sensPJ
Vou de “B” também, no meu entendimento para atributos o compilador não encherga como uma sobreescrita, ele trata como atributos diferentes! por isso na instrução “x.s1” retorna o valor do s1 da superclasse, por que a reference é da superclasse(“D”);
acho q é isso alguem me corrige se eu estiver errado…
[]s Victor
J
JavaNightPJ
esse teste eh bom eiim!!!
vou de D tambem!!!
[]'s
S
SchuenemannPJ
“sens”:
Vou de “B” também, no meu entendimento para atributos o compilador não encherga como uma sobreescrita, ele trata como atributos diferentes! por isso na instrução “x.s1” retorna o valor do s1 da superclasse, por que a reference é da superclasse(“D”);
acho q é isso alguem me corrige se eu estiver errado…
[]s Victor
Falou e disse. Polimorfismo não se aplica a atributos.