Вы действительно хотите статическую переменную-член? Как упоминалось выше, статические переменные являются общими для всех экземпляров, поэтому t2.setI (x) также означает t1.getI () == x.
Если вы объявляете сеттеры и геттеры статическими, они могут быть доступны через класс, а не через экземпляры. Trial.setI (х). Теперь всем ясно, что x является общим для всех экземпляров.
Но мне кажется, что вам действительно нужна нестатическая переменная.
class Trial {
private int i;
int getI() { return i;}
void setI(int value) {i = value;}
}
Когда вы запускаете main-метод, результат будет
10
10
100
В отличие от использования статической переменной, которая выводит
10
100
100