Хорошо, если вы объявили члена в своем классе как static
, тогда он принадлежит классу.То есть он будет определен только один раз при создании первого экземпляра объекта.То есть будет храниться в стеке класса.Остальные все экземпляры класса будут совместно использовать переменную-член.Когда объявляется нестатическая переменная, всякий раз, когда мы создаем объект для этого класса, для этой переменной выделяется отдельная память, которая будет специфичной для этого экземпляра.
В этом случае private static ArrayList<Item> items = new ArrayList<Item>();
является переменной-членом класса.Хотя вы можете получить доступ к переменной, используя this
, но это создает путаницу.this
используется в случае переменной экземпляра, тогда как статические переменные-члены доступны через само имя класса.Я надеюсь, что это проясняет сомнения.