Questão de treinamento [Para iniciantes] - Abrange: OO, Static, Super, sobrescrita

4 respostas
peerless

Vai ser bom para vocês entenderem, métodos e chamadas "static's"

public class Pessoa {
    private static String nome;

    
    /** Creates a new instance of Pessoa */
    public Pessoa(String nome) {
      this.setNome(nome);
    }
    
    public static void setNome(String vNome) {
        nome = vNome;
    }
    public String getNome() {
        return nome;
    }
    
    //main
   public static void main(String []a) {
       Pessoa f = new Fisica();
       Pessoa j = new Juridica();
       System.out.println(f.getNome());
   }
}

class Fisica extends Pessoa {
    public Fisica() {
      super("Fisica Da Silva");    
    }   
    public String getNome() {
        return super.getNome();
    }
}

class Juridica extends Pessoa {
    public Juridica() {
      super("Juridica LTDA");
    }
    public String getNome() {
      return "Juridica&Cia";  
    }
}

Pergunto:
O que irá imprimir? PQ?

a) Fisica Da Silva
b) Juridica LTDA
c) Juridica&Cia

Claro, que se vocês compilarem perde a graça.

:thumbup:

4 Respostas

Marky.Vasconcelos

public static void main(String []a) { Pessoa f = new Fisica(); //Muda o Objeto Pessoa com o nome "Fisica da Silva" Pessoa j = new Juridica();//Muda o Objeto Pessoa com o nome "Juridica LTDA" System.out.println(f.getNome());//Pede para imprimir o nome do Objeto f, mas com o nome static e como foi modificado para Juridica LTDA antes de chamar o System.out vai imprimir "Juridica LTDA" } }

Eu acho^^
e pra imprimir Fisica da Silva teriamos que criar o main assim

public static void main(String []a) { Pessoa f = new Fisica(); System.out.println(f.getNome()); Pessoa j = new Juridica(); }
Correto???

peerless

Bom menino, correto.

Outra questão;

E para que a impressão seja: Juridica&Cia ?

Marky.Vasconcelos

Concerteza não é o unico jeito mas é como eu sei^^

public static void main(String []a) { Pessoa f = new Fisica(); Pessoa j = new Juridica(); Pessoa JA = new Juridica();//Criar uma nova Pessoa Juridica System.out.println(JA.getNome());//Como a pessoa é Juridica posso chamar o getNome() dela que vai retornar "Juridica&Cia }

Isso mesmo??

peerless

:thumbup:

Criado 11 de abril de 2007
Ultima resposta 12 de abr. de 2007
Respostas 4
Participantes 2