Чтобы иметь разные значения parameter
для разных экземпляров, вы должны сделать parameter
нестатическим членом класса.
В вашей текущей версии все экземпляры будут использовать один и тот же объект parameter
. Все static
объекты ведут себя одинаково в этом отношении. Единственное, что зависит от точки объявления, это область действия имени. то есть регионы, где имя видно. Что касается времени жизни и сохраняющих значение свойств переменной - они всегда одинаковы. В этом отношении она похожа на «глобальную» переменную, независимо от того, где вы ее объявляете.
В вашем примере нет разницы между parameter
и staticInt
, когда речь идет об их сохраняющих ценность свойствах. Единственное отличие состоит в том, что staticInt
доступен для всех членов класса, а parameter
доступен только для метода instanceMethod
.
Язык не позволяет создавать переменные, значения которых сохраняются между выполнениями программы. Этот вид постоянства должен быть реализован вручную.