package com.mycompany.installer;
public abstract class ConfigurationReader {
private static class Implementation extends com.mycompany.installer.implementation.ConfigurationReader {}
public abstract String getLoaderVirtualClassPath();
public static QueryServiceConfigurationReader getInstance() {
return new Implementation();
}
}
5 回答
Java中没有导入别名机制 . 您不能导入两个具有相同名称的类,并且使用两个不合格的类 .
导入一个类并使用另一个类的完全限定名称,即
值得注意的是Groovy has this feature:
正如其他答案已经说明的那样,Java不提供此功能 .
已经多次请求实现该功能,例如,如JDK-4194542: class name aliasing或JDK-4214789: Extend import to allow renaming of imported type .
来自评论:
所以我想我们很快就不会在Java中看到这个功能:-P
Java不允许你这样做 . 您需要通过其完全限定名称引用其中一个类,并仅导入另一个类 .
实际上可以创建一个快捷方式,这样你可以通过这样的方式在代码中使用较短的名称:
这样,您只需要指定一次长名称,就可以拥有所需的特殊命名类 .
我喜欢这种模式的另一件事是你可以将实现类命名为与抽象基类相同,并将它放在不同的名称空间中 . 这与导入/重命名模式无关 .