java - 为类创建别名
问题描述
我想弄清楚如何给一个类起别名
public class Mappy {
public static Class<Asyncc> Map = Mappy.class;
}
导入上述内容可能如下所示:
import org.foo.Mappy.Map;
但是由于 Map 是一个通用名称,那么也许用户可以使用更长的名称 Mappy。
import org.foo.Mappy;
这是别名类的可接受方式吗?
解决方案
如果不使用适当的导入声明,引用在另一个包中声明的类型或另一种类型的静态成员的唯一方法是使用完全限定名称(第 6.7 节)。
https://docs.oracle.com/javase/specs/jls/se11/html/jls-7.html#jls-7.5
没有办法给类起别名或使用与完全限定名称不同的名称来引用它。
当两个不同的导入具有相同的类名时,是否曾经发生过名称冲突?
它不会经常发生。@RealSkeptic 的评论很好。
但是我根本不会使用 import 来告诉至少有两个相同的标识符通过在文件中提供它们的全名来以不同的方式表达。检查使用了哪个静态导入会很烦人。
推荐阅读
- github - 如何以特定的时间间隔执行位于 GitHub 存储库中的代码?
- c# - C# ASP.NET MVC & Entity Framework 6 抛出错误“未找到存储过程”
- typescript - 无法解析子目录中的模块
- postgresql - 更新时引用无效,那么,如何更新呢?
- azure - 命名空间“Microsoft”vsts 版本中不存在类型或命名空间名称“Azure”
- webpack - Webpack 将文件从 dist 复制到另一个目录
- php - 使用 INNER JOIN 时绑定占位符变量的 PDO 异常问题
- azure-ad-b2c - 提示并保存使用同一 Azure AD B2C 租户的应用程序的新声明
- scala - Scala 枚举的 Spring Jackson 序列化
- python - 搞砸了我的 pip 和 python 安装