Использование констант из интерфейса - PullRequest
0 голосов
/ 21 сентября 2010

Недавно я наткнулся на Статический импорт функция доступна в Java.Но не был так счастлив, как это доступно только для 1,5 или выше.Мы работаем над jdk 1.3 и постоянно внедряем интерфейс только для облегчения доступа к константам.Но я чувствую, что это неправильный способ использования наследства.Есть ли альтернатива этому?кроме, конечно, указания имени класса / интерфейса.Или можно использовать статический импорт в jdk 1.3 с некоторыми изменениями? Обратите внимание, что мы используем jdk 1.3, eclipse 3.6 и windows xp для разработки нашего проекта.

Ответы [ 5 ]

2 голосов
/ 21 сентября 2010

кроме, конечно, указания имени класса / интерфейса

Что в этом такого ужасного?Это правильный способ сделать это.Гораздо лучше, чем статический импорт, если вы правильно выбираете имена классов и констант (не нужно использовать интерфейсы, поместите константы туда, где они концептуально принадлежат).

2 голосов
/ 21 сентября 2010

использовать интерфейс для этой цели не так. это не богохульство на небесной концепции. обходитесь с тем, что имеете, не становитесь религиозными.

на самом деле я не думаю, что "статический импорт" используется часто. это жутко Я бы предпочел префикс имен с именами исходных классов. опуская имена пакетов - это я могу справиться. опускание имен классов - очень запутанно.

1 голос
/ 21 сентября 2010

Я считаю, что использование интерфейсов для группировки открытых констант на самом деле чище и проще для чтения, чем использование статического импорта.В любом случае, я бы не назвал это «неправильным способом использования наследования».

И да, есть ситуации, когда вы просто не можете обновить до последней доступной JDK.Это часто случается со встроенными системами.

1 голос
/ 21 сентября 2010

Не решение, но лучше использовать конечный класс с открытыми статическими конечными переменными для констант, а не интерфейс.Просто мои два цента.

0 голосов
/ 21 сентября 2010

Оставаясь на такой старой версии JDK (она уже почти 5 лет не работает, и это после 4-летнего периода EOL!) Имеет свою цену - вы не можете использовать новые функции в новых JVM. Возможно, вы сможете что-то взломать, используя предварительную обработку или какой-то особый процесс сборки, но не делайте этого. Укусить пулю и обновить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...