我正在想办法给一个类取别名
public class Mappy { public static Class<Asyncc> Map = Mappy.class;}
public class Mappy {
public static Class<Asyncc> Map = Mappy.class;
}
导入上述内容可能如下所示:
import org.foo.Mappy.Map;
但是,由于map是一个通用名称,那么也许用户可以使用较长的名称mappy。
import org.foo.Mappy;
这是一种可以接受的别名类方法吗?
8wigbo561#
如果不使用适当的导入声明,引用另一个包中声明的类型或另一个类型的静态成员的唯一方法就是使用完全限定名(§6.7).https://docs.oracle.com/javase/specs/jls/se11/html/jls-7.html#jls-7.5无法使用与完全限定名不同的名称来别名类或引用类。当两个不同的导入具有相同的类名时,是否发生过名称冲突?这种事不常发生@Real怀疑论者的评论很好。但我不会使用import来告诉您,至少有两个相同的标识符通过在文件中提供它们的全名来表达不同。检查使用了哪个静态导入会很烦人。
1条答案
按热度按时间8wigbo561#
如果不使用适当的导入声明,引用另一个包中声明的类型或另一个类型的静态成员的唯一方法就是使用完全限定名(§6.7).
https://docs.oracle.com/javase/specs/jls/se11/html/jls-7.html#jls-7.5
无法使用与完全限定名不同的名称来别名类或引用类。
当两个不同的导入具有相同的类名时,是否发生过名称冲突?
这种事不常发生@Real怀疑论者的评论很好。
但我不会使用import来告诉您,至少有两个相同的标识符通过在文件中提供它们的全名来表达不同。检查使用了哪个静态导入会很烦人。