Я не могу понять почему переменная
vаl меняется в зависимости от того, в каком методе она считывается.
Мой код:
public class Main {
public static void main(String[] args) {
System.out.println("Start!");
EditVal editVal = new EditVal();
editVal.go();
}
}
class Write{
int val = 0;
void setVal(int valGhanges){val = valGhanges;}
int getVal(){return val;}
}
class EditVal{
public void go() {
Write write = new Write();
write.setVal(1);// Здесь присвается переменной val значение 1
System.out.println("Read: " + write.getVal()); //Здесь выводит 1
Read();
}
public void Read(){
Write write = new Write();
System.out.print(write.getVal()); // А почему здесь выводит ноль, Если в методе go() я присвоил значение 1?
}
}
Помогите, буду очень благодарен.