首页 > 解决方案 > 为类创建别名

问题描述

我想弄清楚如何给一个类起别名

public class Mappy {

  public static Class<Asyncc> Map = Mappy.class;

}

导入上述内容可能如下所示:

import org.foo.Mappy.Map;

但是由于 Map 是一个通用名称,那么也许用户可以使用更长的名称 Mappy。

import org.foo.Mappy;

这是别名类的可接受方式吗?

标签: javaclass

解决方案


如果不使用适当的导入声明,引用在另一个包中声明的类型或另一种类型的静态成员的唯一方法是使用完全限定名称(第 6.7 节)。

https://docs.oracle.com/javase/specs/jls/se11/html/jls-7.html#jls-7.5

没有办法给类起别名或使用与完全限定名称不同的名称来引用它。

当两个不同的导入具有相同的类名时,是否曾经发生过名称冲突?

它不会经常发生。@RealSkeptic 的评论很好。

但是我根本不会使用 import 来告诉至少有两个相同的标识符通过在文件中提供它们的全名来以不同的方式表达。检查使用了哪个静态导入会很烦人。


推荐阅读