Локальные переменные java [закрыт]

100
15 августа 2019, 23:40

Что будет со значением переменной, если объявить её в классе (т.е. сделать переменной экземпляра), а затем присвоить значение в методе? Вопрос в том, что сохранится ли значение переменной экземпляра в классе? То есть если значение переменной в самом классе равно 0, то при задатии значения в методе(например, 5) останется ли значение старым(равным нулю)? Заранее благодарю

Answer 1

Объект (переменная) экземпляра класса существует в единственном экземпляре, методы могут ее изменять, читать, делать все что угодно. Метод не делает копию переменной, а работает именно с переменной класса, только если эта переменная не объявлена внутри тела метода. Если переменная статическая, то она существует в единственном экземпляре для всех экземпляров данного класса.

Answer 2

Как я понял ваш вопрос:

public class Example {
     privatу int number = 0;
     Example(int a) {
          this.number = a;
     }
     Example() {}
     public void someMethod() {this.number = 7;}
}

Теперь сам main

public class Main {
     public static void main(String args[]) {
          Example e = new Example(); //number = 0!
          e.someMethod(); //number = 7
          e = new Example(9); //number = 9
     }
}

Весь смысл экземпляра класса и заключается в том, чтобы методы могли работать с его значением!

READ ALSO
Можно ли создать glow эффект в SVG?

Можно ли создать glow эффект в SVG?

Я изучаю SVG, и я хотел бы знать, возможно ли создать такой эффект свечения с SVG, в интерактивном режиме, как в следующем примере- наведение вызывает...

133
Что такое и для чего сделано “var carElement = $(carHtml);”?

Что такое и для чего сделано “var carElement = $(carHtml);”?

Я новичок в JS и jQueryЧитаю "JavaScript для детей"

118
Почему переменная undefined в функции?

Почему переменная undefined в функции?

Объясните, пожалуйста, почему в переменная a в функции makeDiv получает undefined?

125