有没有办法通过继承来管理子类的导入?
我知道这不是继承的目的,但我想这样做,因为我有一个针对我公司QA人员的java源模板。在java模板中粘贴java-ified selenese时,我不希望他们担心导入。
你知道能够做到的任何框架,注释等吗?
我的意思的例子(假想的@inherit
注释):
@inherit
import xyz.ABC
class Super{
}
现在子类不再需要导入ABC了:
class Sub extends Super {
ABC abc;
}
答案 0 :(得分:1)
我不知道是否可以注释导入语句(they're not in the list而我无法动态尝试)而且我敢肯定,它不能用apt来完成,因为没有在必须编译的类上定义注释。
但您可以使用注释(如果可能)标记import语句,javaDoc标记或预定义注释,并使用自定义工具从超类源文件中读取此信息并在其之前修改源代码得到编译。
您需要一个可用于解析java源文件的库。
作为替代方案 - 您可能只能提供/生成具有完全限定类名的源文件,因此这些类根本不需要任何import语句:
class Sub extends Super {
xyz.ABC abc;
}