Chamar uma variável em outra classe

9 respostas
M

Tenho as minhas variáveis a, b e c declaradas como float em uma classe do meu programa, sendo estas inseridas pelo JOptionPane.
Só que eu preciso utilizar essas variáveis em outra classe do meu programa, e não quero ter que inseri-las novamente… como faço para chama-las nessa outra classe?

9 Respostas

gustavo_mb

Você pode passar elas para um construtor de outra classe, ou então utilizar o getVariavel para retornar seu valor.

Exemplo com Construtor:

import javax.swing.JOptionPane;


public class Teste {

	public static void main(String[] args) {
		
		private String nome= JOptionPane.showInputDialog("Digite seu nome:");
		private int idade = Integer.parseInt(JOptionPane.showInputDialog("Digite sua idade:"));
		
		Pessoa p1 = new Pessoa(nome,idade);
		
	}
}

//outra classe
public class Pessoa {

	public Pessoa(String nome, int idade) {
		System.out.println(nome + " registrado no sistema! Ele tem " + idade + "anos.");
	}

}

Dependendo da proteção das variáveis(public, default, protected ou private) você pode acessá-la através de uma referência ao objeto, ou não. Porém, vale lembrar que um dos principais conceitos de O.O. é o encapsulamento.

luxu

cria uma instância:

Classe classe = new Classe(); int A = classe.getA();

M
Não consegui de nenhum dos dois jeitos o que acho que chegou mais perto de dar certo foi o segundo, escrevi isso na  minha segunda classe:

Classe GradeBook = new Classe GradeBook();

float a = GradeBook.get.a();

float b = GradeBook.get.b();

float c = GradeBook.get.c();

Mas tá dizendo que tem algo errado na primeira linha, e o programa não está usando os valores que eu digito na outra classe para plotar os pontos.

luxu

amigo vc tem q criar a instância como chama a classe, q deve ser algo do tipow:

Classe gradeBook = new Classe();

o ex. q fiz foi só exemplo, acho q seria melhor vc ver uma das apostilas do www.caelum.com.br e estudar para entender como trabalha classes, num adianta te passar mastigado e vc naum ler nada, ok?

M
 tentei se vários jeitos e não deu certo.

GradeBook = new GradeBook();

Classe GradeBook = new GradeBook();

Realmente ainda não entendi a lógica de como chamar uma variável em outra classe, e antes de me cadastrar e postar aqui já li váaaarias apostilas sobre o assunto e ainda assim não tive êxito. Continuarei a procurar… agora também nesse site que você recomendou, obrigada! :slight_smile:

luxu

Post aki o nome da sua classe.

M

GradeBook é a classe onde essas variáveis estão declaradas e Poly é a classe aonde eu desejo chama-las.

marciobarroso

Suponho que esteja falando de java … para isso utiliza-se métodos de acesso, conhecidos também como getter e setter.

ex.:

class GradeBook {
     private float varOne;
     private float varTwo;

     public float getVarOne() {
          return this.varOne;
     }
      
     public void setVarOne(float value) {
          this.varOne = value;
     }

     public float getVarTwo() {
          return this.varTwo;
     }

     public void setVarTwo(float value) {
          this.varTwo = value;
     }
}

Para setar ou acessar os valores das variáveis de GradeBook, você utiliza:

GradeBook book = new GradeBook();
book.setVarOne(34f);
book.setVarTwo(12f);

Já tendo uma instância do GradeBook, você acessa as variáveis assim:

GradeBook book = algumLugar.getBook();
float somaFloat = book.getVarOne() + book.getVarTwo();

[]'s

abelhajr

na Class Poly vc vai fazer assim:

GradeBook letras = new GradeBook(); int A = letras.getA();

Criado 4 de outubro de 2011
Ultima resposta 5 de out. de 2011
Respostas 9
Participantes 5