#java #variables #methods #standards
#java #переменные #методы #стандарты
Вопрос:
Кто-нибудь знает, каково официальное слово по этому поводу? Вот пример:
public void makeStuff(int total) {
//method logic
Теперь давайте остановимся на том, что я вызываю этот метод следующим образом:
new Thing().makeStuff(new OtherClass().getTotal);
//OtherClass holds the int total that is returned
Это плохой стиль программирования для этого? И давайте просто предположим, что стандартный способ не является вариантом. (т. Е. new Thing().makeStuff(7));
Заранее всем вам спасибо. Мэтт
Комментарии:
1. Кажется совершенно нормальным, за исключением того, что это немного влияет на читаемость кода.
2. Я не вижу никакой проблемы…
Ответ №1:
Ну, если вы не собираетесь сохранять какие-либо ссылки на класс, то почему бы вместо этого не использовать статические методы?
public static void makeStuff(int total) {
//method logic
и в вашем другом классе итоговое значение всегда будет одинаковым — поскольку у него нет шансов быть установленным, если только getTotal не должен был быть вызовом метода (getTotal()), и в этом случае это также может быть статический вызов, т.е.
Thing.makeStuff(OtherClass.getTotal());
Комментарии:
1. Я согласен … однако я должен сохранить это как переменную экземпляра по причинам, с которыми я не буду беспокоить всех. Тем не менее, спасибо вам за ваш вклад. Похоже, что идея инициализации параметров таким образом хороша.
Ответ №2:
Я бы не стал создавать подобный объект для получения одного значения и не стал бы вызывать поле getTotal
Вы могли бы сделать
new Thing().makeStuff(new OtherClass().total);
или
new Thing().makeStuff(new OtherClass().getTotal());
или
new Thing().makeStuff(OtherClass.getTotal());