2013-08-15 3 views
0

В этой программе Java, которую я пишу, я обнаружил, что я забиваю метод main() с большим количеством кода, который затрудняет быстрое понимание/чтение. В частности, из-за большого количества ошибок, которые я делаю. В результате я хочу написать быструю функцию, которая будет использоваться только этим методом для улучшения удобочитаемости.Возможно ли иметь функцию, которая не является методом в java?

Является ли другой метод внутри класса моим единственным вариантом или есть другие альтернативы?

+1

Короткий ответ: да. Однако вы могли бы сделать еще один класс и написать его там. – reagan

+0

вы должны хотя бы дать нам пример или некоторый намек на то, что вы пытаетесь сделать, или, по крайней мере, попытаться правильно объяснить вопрос – Nivde

+0

Ничего плохого в методах, которые используются только один раз. Это хороший способ улучшить удобочитаемость. Если он вызывается из метода 'static' (например, main), он также должен быть статическим. – kiheru

ответ

2

Является ли другой метод внутри класса моим единственным вариантом или существуют другие альтернативы?

Это зависит:

  • Если методы должны принадлежать только к этому классу, они должны быть объявлены как private или protected методов в классе, в зависимости, если класс может наследоваться или нет.

  • Если методы следует использовать повторно в других классах, было бы лучше переместить их в классы полезности как public. Например, проверьте, что String пуст, а также проверяет, не является ли null. Обратите внимание, что для этого примера существуют методы, охватывающие эти проверки в классах служебных программ из Apache Common Langs, явно StringUtils#isEmpty(String).

Кстати, Java имеет методы, время не функции.

+0

Хотя в Java все называется методом, * статический метод * является функциональным эквивалентом того, что другие языки называют * функцией *. Но java не допускает ничего, что напоминает глобальную функцию * (например, типичную функцию C). – Durandal

+0

@Durandal да, но будучи строгим для языка, является статическим методом, а не функцией :). –

2

Ответ да, обычно private методы в классах содержат код, который не используется внешним миром. Но хавигские частные методы помогают уменьшить циклическую сложность ваших общедоступных методов. Меньшие методы приводят к более понятным и понятным методам.

0

Поскольку Java был разработан таким образом, у вас могут быть только методы. Итак, да, это единственный способ. Обычно вы должны использовать методы класса (статические) для независимых методов. Они также могут быть в пределах другого класса, например, утилиты или вспомогательного класса.

Смежные вопросы