2015-09-02 105 views
2

我有一個類,我使用兩個碰巧具有相同名稱的對象。 一個是:避免長對象名稱的優雅方法

com.google.api.services.calendar.model.Event 

和其他3ED方對象具有相同的名稱,說:

com.some.other.package.Event 

使用進口的兩個對象是不是一個好的選擇,因爲它們會掩蓋對方。 在代碼中使用longggggg的名字也不太好看。

創建一個「虛擬」類型只是爲了更改其名稱,似乎不是一個優雅的解決方案。

如何保留原始對象名稱(Event)但使用較短的路徑名稱?

回答

2

Java提供了2種方式:

  1. 使用Fully Qualified Class Name每個類,你不想
  2. 使用class name一個類和Fully Qualified Class Name其他

替代方法是將其他類的子類別,然後您可以使用新的子類名稱。 (進口分類)

3

不能縮短Java中的類名;您可以導入類名(無需限定符即可使用它)或使用完全限定名。因此,至少有一個Event類將不得不以其完全限定名稱引用。 (除非,像你說的,你繼承其中的一個只是爲了節省打字。)

Java tutorials地址此討論時名稱含糊:

如果在一個封裝中的成員與成員分享它的名字在另一個軟件包中,並且這兩個軟件包都已導入,則必須使用其限定名稱引用每個成員。

4

在Java中是不可能的,唯一的辦法是使用完全限定的類名。但是,您可以在其他基於JVM的語言,如Scala中做到這一點:

import com.some.other.package.Event => OtherEvent 

或Groovy

import com.some.other.package.Event as OtherEvent 
相關問題