修改導入類的引用名稱或導入兩個名字相同的類| Java Debug 筆記

**本文正在參加「Java主題月 - Java Debug筆記活動」,詳情查看 活動連接 **html

問題:

在python走過來能夠這樣作:java

from a import b as c
複製代碼

在Java中應該怎樣作這樣的操做,我試着這樣導入結果出現了衝突python

------------------------------如下爲回答,按支持票數排序----------------------------------json

回答1(支持票數528):

Java中沒有給導入取別名的機制,你沒有辦法給兩個導入的類取相同的名字而且沒有限制的使用。 導入一個類並使用全限定名稱,即:markdown

import com.text.Formatter;

private Formatter textFormatter;
private com.json.Formatter jsonFormatter;
複製代碼
回答2(支持票數77):

如其餘答案所述,Java沒有提供這個功能. 這個功能曾被屢次要求實現,如:JDK-4194542: 類名別稱 或 JDK-4214789: 擴展導入容許重命名導入的類型 評論中提到:oop

這不是一個不合理的請求,這幾乎不是必需的。使用徹底限定的名稱不是一個問題(除非庫確實左右重複使用相同的簡單名稱,這是很差的方式)。spa

不管如何,它不具備讓語言更改的價值/性價比。code

所以,我想咱們不會在任什麼時候候從Java中看到此功能orm

回答3(支持票數67):

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

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;
複製代碼
相關文章
相關標籤/搜索