我试图弄清楚如何给一个类起别名
public class Mappy {
public static Class<Asyncc> Map = Mappy.class;
}
导入以上内容可能类似于:
import org.foo.Mappy.Map;
但是由于Map是一个通用名称,所以也许用户可以使用更长的名称Mappy。
import org.foo.Mappy;
这是别名类的可接受方法吗?
答案 0 :(得分:1)
不使用适当的导入声明,引用另一个包中声明的类型或另一个类型的静态成员的唯一方法是使用完全限定的名称(第6.7节)。
https://docs.oracle.com/javase/specs/jls/se11/html/jls-7.html#jls-7.5
无法通过使用与完全限定名称不同的名称来为类加上别名或引用它。
当两个不同的导入具有相同的类名时,是否都发生过名称冲突?
这种情况并不常见。 @RealSkeptic的评论很好。
但是我根本不会使用import来通过在文件中提供全名来告诉至少两个相同的标识符以不同的方式表达。检查使用哪种静态导入会很烦人。