在 Java 中避免重复导入:继承导入?

2022-09-03 05:32:14

有没有办法“继承”进口?

例:

通用枚举:

public enum Constant{ ONE, TWO, THREE }

使用此枚举的基类:

public class Base {
    protected void register(Constant c, String t) {
      ...
    }
}

需要导入以方便地使用枚举常量的子类(没有枚举名称):

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 {
    ...
}

我可以使用经典的静态最终常量,但也许有一种方法可以以相同的便利性使用通用枚举。


答案 1

imports 只是编译器查找类的辅助工具。它们对于单个源文件处于活动状态,并且与Java的OOP机制没有任何关系。

所以,不,你不能“继承”simport


答案 2

如果您使用的是 Eclipse,请使用“组织导入”(++)让 IDE 为您执行导入(或使用代码完成 (CtrlShiftOCtrl+Space)