static
методы не могут получить доступ к переменной экземпляра текущего (this
) экземпляра, поскольку в их контексте такого экземпляра не существует.
Однако, если вы передадите им ссылку на экземпляр, ониможет получить доступ к любым переменным экземпляра и видимым им методам.
В случае вашего примера swap
, если бы этот метод не был static
, вы могли бы удалить аргумент acc
и работать с экземпляромпеременные this
:
public void swap() {
int holder;
holder = this.x;
this.x = this.y;
this.y = holder;
}