Instanciar ou chamar direto?

5 respostas
Rage

Visto que posso chamar diretamente um método, ou variável que pertence a uma classe que está no mesmo pacote que a classe chamadora, existe alguma diferença entre chamar direto ou instanciar a outra classe?

Exemplo:
Imagine um pacote “pack” que tem duas classes: “ClasseA” e “ClasseB”.

package pack; public class ClasseA { private static ClasseB cb = new ClasseB(); public static void main(String[] s) { System.out.println(cb.UMA_STRING); } }
Existe alguma diferença disto para isto?

package pack; public class ClasseA { public static void main(String[] s) { System.out.println(ClasseB.UMA_STRING); } }

[]´s…

5 Respostas

peczenyj

No seu primeiro exemplo, cada instância poderia ter um atributo UMA_STRING diferente, enquanto no segundo exemplo vc esta acessando um atributo estático, ele será o mesmo para qualquer instância pois “pertence” à classe.

fabim

Ambos dão no mesmo pq o que acontece é que vc também pode usar instância pra acessar uma variável estatica.
Mas so existe uma copia dessa variavel.

fabim

Corrigindo…

Vc nao postou a definição da classe entao nao posso afirmar que é uma variavel estatica.
o que o colega acima falou é o correto.

peczenyj

Ops… :oops:

UMA_STRING tem cara de ser (o mesmo) atributo estático nos dois casos.

Se for esse o caso, ambas as formas dão o mesmo resultado porém a segunda forma é inequivoca.

Rage

Sim, seria o mesmo atributo estático… A string em questão é apenas uma única string.
Creio que neste caso entao chamar diretamente é mais prático. (Classe.atributo)
Ok!!!

Vlw[]´s

Criado 8 de outubro de 2007
Ultima resposta 8 de out. de 2007
Respostas 5
Participantes 3