2015-09-02 30 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 
相关问题