修改导入类的引用名称或导入两个名字相同的类| Java Debug 笔记

**本文正在参加「Java主题月 – Java Debug笔记活动」,详情查看 活动链接 **

问题:

在python走过来可以这样做:

from a import b as c
复制代码

在Java中应该怎样做这样的操作,我试着这样导入结果出现了冲突

——————————以下为回答,按支持票数排序———————————-

回答1(支持票数528):

Java中没有给导入取别名的机制,你没有办法给两个导入的类取相同的名字并且没有限制的使用。
导入一个类并使用全限定名称,即:

import com.text.Formatter;

private Formatter textFormatter;
private com.json.Formatter jsonFormatter;
复制代码
回答2(支持票数77):

如其他答案所述,Java没有提供这个功能.
这个功能曾被多次要求实现,如:JDK-4194542: 类名别称 或 JDK-4214789: 扩展导入允许重命名导入的类型
评论中提到:

这不是一个不合理的请求,这几乎不是必需的。使用完全限定的名称不是一个问题(除非库确实左右重复使用相同的简单名称,这是不好的方式)。

无论如何,它不具有让语言更改的价值/性价比。

因此,我想我们不会在任何时候从Java中看到此功能

回答3(支持票数67):

值得注意的是Groovy具有此功能:

import java.util.Calendar
import com.example.Calendar as MyCalendar

MyCalendar myCalendar = new MyCalendar()
复制代码
回答4(支持票数24):

Java不允许您这样做。您需要通过其全限定名来引用其中一个类

回答4(支持票数4):

Java还没有这个,这很荒谬。Scala拥有它:

import com.text.Formatter
import com.json.{Formatter => JsonFormatter}

val Formatter textFormatter;
val JsonFormatter jsonFormatter;
复制代码
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享