Vai ser bom para vocês entenderem, métodos e chamadas “static’s”
[code]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”;
}
}[/code]
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:
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???
Bom menino, correto.
Outra questão;
E para que a impressão seja: Juridica&Cia ?
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??