Estou tentando entender como se faz referência a uma variável que está em outra classe. Exemplo, na classe Entrada.class eu tenho uma variável do tipo inteiro, assim:
public class Entrada
{
int A = 25;
}
Eu preciso mostrar essa variável A em uma outra classe, MostraDados.class, eu pensei que bastasse fazer a referência a classe Entrada e colocar o nome da variável A, assim:
public class MostraDados
{
public static void main (Strings [])
{
System.out.println(Entrada.A);
}
}
Achei que apenas isso faria imprimir no console o valor 25. Mas esse código dá erro. Aprendi que não basta apenas citar o nome da classe e o nome da variável, mas não sei como fazer. Se alguém puder me dar uma ajuda, mostrando como faz aí no código da classe Imprime.class, me ajudaria, e eu agradeço.
Marco
Para chamar Classe.Atributo você precisa declarar o atributo como static.
public class Entrada {
static int A = 25;
}
Não é assim que funciona no Java !
Vc deve colocar a variável como private ou public.
Depois colocar um método na sua classe que retorne o valor da variável.
Ai vc pode exibi-la em outra classe.
[quote]
public class Entrada {
int A = 25;
} [/quote]
[code]
public class Entrada{
private int A = 25;
//Construtor
public Entrada(){
}
public int getA(){
return this.A;
}
}[/code]
public class MostraDados{
public static void main (Strings []args) {
Entrada entrada = new Entrada();
System.out.println(entrada.getA());
}
}
Espero ter ajudado .
Um Abraço !
No final do meu post anterior, eu disse “mostrar como faz na Imprime.class”, mas eu errei , queria dizer “mostrar como faz na MostraDados.class”. Ou seja, como fazer para instanciar numa classe, uma variável que pertence a uma outra classe? Deve ser uma coisa fácil, mas eu ainda não consigo alcançar isto. Agradeço a quem puder me ajudar.
Marco
[quote=“MarcoSenn”]No final do meu post anterior, eu disse “mostrar como faz na Imprime.class”, mas eu errei , queria dizer “mostrar como faz na MostraDados.class”. Ou seja, como fazer para instanciar numa classe, uma variável que pertence a uma outra classe? Deve ser uma coisa fácil, mas eu ainda não consigo alcançar isto. Agradeço a quem puder me ajudar.
Marco[/quote]
Ahhh… eu pensei que você queria pegar o conteúdo do atributo de forma estática.
Para pegar os atributos de uma classe através da instânciação, você deve encapsular esse atrbuto:
[code]public class Pessoa {
private String nome;
public String getNome() {
return “PJ…”;
}
}[/code]
E para exibir:
Pessoa pessoa = new Pessoa();
pessoa.getNome();
Hehe… Eh um pokinhu + complicado que isso… Dexa eu ver se posso te ajuda:
public class Entrada
{
int a = 25;
public int getVariavel(){
return a;
}
}
public class MostraDados
{
public static void main (String args []) {
Entrada a = new Entrada();
int x = a.getVariavel();
System.out.println(x);
}
}
não testei mas eh bem simples… Axo que funciona… Abraço…
[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - AnjoSupremo[/color][/size] :joia:
Ao Java Player, ao dsfextreme e ao Tiago, quero agradecer, porque todos me ajudaram de alguma forma. Já fiz da forma como o dsfextreme falou, só não usei o construtor na classe Entrada.class, mas funcionou perfeitamente bem. Eu ainda não entendo essa coisa do Construtor. Se eu faço uma classe com a variável e o método, apenas, funciona. Eu sabia um pouco de Visual Basic e Delphi, e ainda faço confusão com essa linguagem Java. Mas estou gostando mais de Java!
Obrigado a vocês, valeu demais. Abraço.
Marco
Aí, Tiago,
Vou fazer agora da forma como você ensinou, tem alguma diferença da outra forma, vale a pena tentar fazer, tudo é ensinamento. Valeu, amigo, obrigado!
Marco
E ai bl… Olha cara… vc sabe comu eh neh… tem um monte de jeitos de fazer a mesma coisa hehe…
A ideia é a seguinte: para “pegar” o valor de uma variavel que esta em outra classe, temos que criar um metodo get.
public int getVariavel(){
return a;
}
Ou
public int getA(){
return this.A;
}
tanto faz… o importante eh que esse metodo get vai retornar a variavel (ou o objeto se for o caso) que voce deseje… isso faz parte do conceito de encapsulamento…
Porque usar construtor??
Veja:
public class Entrada{
private int A = 25;
//Construtor
public Entrada(int a){
this.a = a;
}
public int getA(){
return this.A;
}
}
nesse caso, criei um metodo construtor com um parametro de entrada. Significa que sempre que for instanciar um objeto dessa classe, ele obrigatoriamente tera um atributo a do tipo int…
Entrada entrada = new Entrada(667);
Claro, neste exemplo não faz muito sentido, mas lembre-se, esta eh a maneira para voce garantir que todos os objetos de uma classe vão ter um determinado atributo…
Isso ai welcome to JavaWorld hehe…
Abraço…
[size=“11”][color=“red”]* Editado: Lembre-se de utilizar BBCode em seus códigos - AnjoSupremo[/color][/size] :joia: