Существует ли способ "наследовать" импорт?
Пример:
Общее перечисление:
public enum Constant{ ONE, TWO, THREE }
Базовый класс с помощью этого перечисления:
public class Base {
protected void register(Constant c, String t) {
...
}
}
Класс Sub, нуждающийся в импорте для использования перечислимые удобные константы (без перечислимого имени):
import static Constant.*; // want to avoid this line!
public Sub extends Base {
public Sub() {
register(TWO, "blabla"); // without import: Constant.TWO
}
}
и другой класс с тем же импортом...
import static Constant.*; // want to avoid this line!
public AnotherSub extends Base {
...
}
Я мог использовать классические статические заключительные константы, но возможно существует способ использовать общее перечисление с тем же удобством.
Импорт
- это просто помощь компилятору на поиск классов. Они активны для одного исходного файла и не имеют никакого отношения к механизмам ООП Java.
Итак, нет, вы не можете «наследовать» Импорт
S
Нет, вы не можете наследовать импорт. Если вы хотите ссылаться на файл класса, не используя полностью квалифицированное имя, вы должны явно импортировать его.
Но в вашем примере было бы легко сказать
public Sub extends Base {
public Sub() {
register(Constant.TWO, "blabla"); // without import: Constant.TWO
}
}
Если вы используете Eclipse, используйте «Организовать импорт» ( Ctrl + Shift + o ) Чтобы позволить IDE делает импорт для вас (или использовать завершение кода ( Ctrl + пространство )