Malajaв Java нет отдельных функций. Всякая функция может быть только методом некоторого класса.
Если ты хочешь, чтобы с твоей функцией были ассоциированы некоторые данные, и никто и никогда не смог бы до этих данных добраться, то сделай так:
public final class MyFunc {
private static int nTest = 0;
private MyFunc() {
}
public static void myFunc(final int nDiff) {
nTest += nDiff;
}
}
final class -- это запрещение наследования, никто не сможет поменять поведение через наследование.
private static int nTest -- никто извне класса не сможет изменить значение поля
private MyFunc() -- для полноты ещё запрет на создание объектов данного класса, что бы не замусоривать память объектами, так как используются только статические методы.
public static void myFunc(final int nDiff) -- статическая функция, к которой может обратиться метод любого класса. final int это тоже самое, что const int в С++
Обращение к функции будет выглядеть так: