Повторное использование части кода
Какие есть способы, методы для ссылки на повторное использование части кода, написанного ранее, во избежание повторений и увеличения размерности кода. По собственным поискам подобной информации узнал, что "goto", которым ранее пользовался в других языка, в "java", как такового, - нет. Может, есть другие варианты?
Ответы (2 шт):
В java есть аналог GOTO - это использование конструкции:
break метка;
Но данная конструкция нарушает структуру кода и не рекомендуется к использованию. В нормальном коде она не встречается. Для повторного использования кода в нормальном java коде придется пользоваться вещами посложнее: инкапсуляции, композиции, программирование на уровне интерфейсов, а не реализаций, слабая связность и куча всего остального. Как вы поняли, это тема очень обширная для одного ответа. Крайне рекомендую книгу "Head First Паттерны проектирования". Там очень хорошо описаны основные приемы, которые помогут вам с повторным использованием кода и многим другим Но на начальных этапах, банально можно выносить код, который можно использовать несколько раз в отдельные методы. Это уже позволит сократить длину кода.
Аналогом goto в Java с натяжкой можно назвать метки. Когда в программе несколько вложенных циклов, то операторы break и continue по умолчанию действуют на самый глубоко вложенный цикл. С использованием меток можно указать операторам конкретный цикл, на который они будут действовать, например, самый внешний:
outer:
for (int i = 0; i < 10000; i++) {
for (int j = 0; j < 10000; j++) {
if (j == 500 || i == 500)
break outer;
}
}
При использовании операторов break/continue они будут действовать, как уже было сказано, на самый ближайший к ним цикл.
for (int i = 0; i < 10000; i++) {
for (int j = 0; j < 10000; j++) {
if (j == 500 || i == 500)
break;
}
}
Метки в Java существуют только для операторов break и continue.
P.S. Список ключевых слов включает в себя goto. Однако данный оператор помечен как - not used (не используется).