GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Como acessar o get/set de outra classe

Fala galera,

Como que faço para acessar o meu get/set em outra classe?

Por Exemplo:

public class Pessoa{

        private String name;

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

Ao tentar acessar os valores em outra classe com o código abaixo, os valores veem zerados.

Eu sei que os valores veem zerados pq eu dei um new, mais como que faço para pegar os valores?

Pessoa pessoa = new Pessoa(); System.out.println(pessoa.getName());

Você não setou valores, no objeto, então não vai retornar nada.

Você pode fazer de duas formas!

public class Pessoa {

    private String name;

    public Pessoa() { }

    public Pessoa(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

}

// Primeira forma
Pessoa pessoa = new Pessoa();
pessoa.setNome("Giropops");
System.out.println(pessoa.getNome()); // Giropops

// Segunda forma
Pessoa pessoa = new Pessoa("Strigus");
System.out.println(pessoa.getNome()); // Strigus

Eu esqueci de postar, mais eu setei o valor assim:

Pessoa pessoa = new Pessoa();
pessoa.setNome("teste");

Agora eu preciso acessar esse valor em outra classe.

O valor só é acessível partindo da própria referência que contém a informação, para conseguir acesso partindo de outra referência que não seja a da classe Pessoa, você tem que fornecer a referência dessa “pessoa” para a outra classe.

Exemplo:

public class Color {
    private String name;
    // Constructors and getters & setters
}

public class Other {
    private Color color;
    // Constructors and getters & setters
}

// Como ficaria
Color color = new Color("Red");
Other other = new Other(color);

System.out.println(other.getColor().getName()); // Red
//