Чому було б перевагою використовувати статичний метод і передавати посилання на об’єкт як параметр, а не викликати метод на об'єкт?
Щоб уточнити, що я маю на увазі, розглянемо наступний клас:
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public void incrementValue() {
someValue++;
}
}
Порівняно з цією альтернативною реалізацією статичним методом:
public class SomeClass {
private double someValue;
public SomeClass() {
// Some constructor in which someValue is set
}
public static void incrementValue(SomeClass obj) {
obj.someValue++;
}
}
Моє запитання не обмежується лише цим класом; мене цікавить будь-яка точка, куди ви передатимете об'єкт, а не називати його методом. Це колись вигідно? Якщо так, то чому?