Questao packages

//in file A.java
package p1;
public class A
{
      protected int i = 10;
      public int getI() { return i; }
}
//in file B.java
package p2;
import p1.*;
public class B extends p1.A
{
   public void process(A a)
   {
      a.i = a.i*2;
   }
   public static void main(String[] args)
   {
      A a = new B();
      B b = new B();
      b.process(a);
      System.out.println( a.getI() );
   }
}

Consider following two classes:
What will be the output of compiling and running class B ?

a. It will print 10.
b. It will print 20.
c. It will not compile.
d. It will throw an exception at Run time.
e. None of the above.

Ae galera … prometo q vai ser a ultima do dia ! rsrsrs
De novo … sem compilar … se naum perde a graca!!!
Valeu !!!

resposta B

achu q é a C por causa da linha
a.i = a.i*2;

[quote=“WagnerPaz”]achu q é a C por causa da linha
a.i = a.i*2;[/quote]

Concordo. Letra C.

Acho que é a letra C, por causa da linha:

pois (A) tem ser precedido do package.

nesse caso n é necessário… pois a classe b importa o pacote p1
import p1.*;

acredito que seja a letra “B” por que “i” é protected, então eu posso acessa-lo de sua sub-classe ou de outra classe no mesmo pacote…

[]s Victor…

[quote=“sens”]acredito que seja a letra “B” por que “i” é protected, então eu posso acessa-lo de sua sub-classe ou de outra classe no mesmo pacote…

[]s Victor…[/quote]

Aí é que tá Xero!

Na verdade o acesso nessa linha

a.i = a.i*2; está sendo feita por uma referencia de A, e não
por B, o acesso só é permitido dentro de B, usando o this(não obrigatório) por exemplo,você poderia acessar o i
seria como se B has-a o atributo i.

Ta certo fabricio, agora que me liguei…

A Superclasse não enxerga a subclasse, e eu não tinha me ligado nisso! desta forma quando de uma subclasse uso a referencia da super, a super não sabe que quem esta invocando é uma subclasse dela, por isso impede o acesso mesmo sendo “protected”…

Boa questão…

[]s Victor…

muito boa essa questão fabricio! mostra q temos q prestar muita atencao e não nos deixar enganarmos pelo efeito âncora (abraçar a primeira ideia)