Скажем, у меня есть класс, предназначенный для выполнения одной функции. После выполнения функции она может быть уничтожена. Есть ли причина предпочесть один из этих подходов?
// Initialize arguments in constructor
MyClass myObject = new MyClass(arg1, arg2, arg3);
myObject.myMethod();
// Pass arguments to method
MyClass myObject = new MyClass();
myObject.myMethod(arg1, arg2, arg3);
// Pass arguments to static method
MyClass.myMethod(arg1, arg2, arg3);
Я был намеренно расплывчатым в деталях, чтобы попытаться получить рекомендации для разных ситуаций. Но я действительно не имел в виду простые библиотечные функции, такие как Math.random(). Я думаю больше о классах, которые выполняют определенную сложную задачу, но для этого требуется только один (общедоступный) метод.