Допустим есть приватное поле

private int a = 5;

С генерировать геттер и сеттер очень просто, например для Eclipse (Souce -> Generate Getters and Setters)

Получится так:

package getsetP;

public class A {
private int a = 5;

public int getA() {
return a;
}

public void setA(int a) {
this.a = a;
}

public static void main(String[] args) {

}

}

Теперь получить значение приватного поля из класса A легко, необходимо вызвать геттер. Например, для некого класса B создадим метод testGetA().

Все будет выглядеть примерно так:

public class B {
public void testGetA() {
A a1 = new A();

//a = 5;

        System.out.println(a1.getA());
}
}

Чтобы установить значение а используется метод set.

Пример кода:

package getsetP;

public class B {
public void testGetA() {
A a1 = new A();
System.out.println(a1.getA());
a1.setA(500);
System.out.println(a1.getA());
}
}
////////////////////////////////////////

package getsetP;
public class A {
private int a = 5;

public int getA() {
return a;
}

public void setA(int a) {
this.a = a;
}

public static void main(String[] args) {
// TODO Auto-generated method stub
B b1 = new B();
b1.testGetA();
}

}

Вывод на консоль будет 5 и 500. Т.е. вызывается метод класса B testGetA() в котором мы получаем сначала значение приватного поля а из класса А для экземпляра класса a1, а потом устанавливаем для него значение 500.

Важно, это сделано для экземпляра класса a1. Т.е. если мы в  public static void main запишем код:

B b1 = new B();
b1.testGetA();
//новый экземпляр класса a2
A a2 = new A();
System.out.println(«Для экземпляра класса а2, значение поля а равно » + a2.a);

То вывод будет

5
500
Для экземпляра класса а2, значение поля а равно 5

Реклама