input.reverseArray(input);
не компилируется, потому что reverseArray
не является методом, определенным типом input
, а именно int[]
.
reverseArray(input);
компилируется и работает правильно.
input = reverseArray(input);
не компилируется, поскольку reverseArray
возвращает void
, поэтому его нельзя присвоить input
.
input =input.reverseArray(input);
не компилируется по обеим вышеуказанным причинам.
Если бы reverseArray
не было статичным, то ничего из вышеперечисленного не скомпилировалось бы. В частности, reverseArray(input)
вызывается из статического контекста (т.е. из static
метода) статическим способом (без использования объекта, как в foo.reverseArray(input)
), но reverseArray
это не статично . Чтобы вызвать reverseArray
, нужно использовать объект типа reverse
, поскольку класс reverse
определяет метод reverseArray
:
reverse myReverse = new reverse();
myReverse.reverseArray(input);
Также обратите внимание, что по соглашению Java классы должны быть названы в CamelCase, поэтому вы должны изменить reverse
на Reverse
.