现在我有点问题。我正在写一个转换器函数,让我们说我想将一种类型的卡(一类)转换为另一种类型(另一类)。
让我们说一个是foo.bar.Card,另一个是baz.banan.Card。我可以有一个
import foo.bar.Card;
但我无法做到
import foo.bar.Card;
import baz.banan.Card;
然后编译器无法区分它们。
我只能做其中一个然后加上另一个,所以我的代码中有Card和baz.banan.Card,但我想避免使用很长的名字。理想情况下,我想使用bar.Card和banan.Card,但这是可能的,如果是这样的话?
答案 0 :(得分:4)
您有两个选择:
使用完全限定名称引用您的班级名称:
foo.bar.Card card = new foo.bar.Card();
baz.banan.Card otherCard = new baz.banan.Card();
另一个选择,正如whaleberg建议的那样,是创建一个具有不同名称的包装类。
答案 1 :(得分:1)
不幸的是,他们并不是真正的方法。
我知道两个有用的解决方法:
最终成绩
使用与调用Card
对象方法完全相同的方法为其中一个Card
类创建包装类。不幸的是,这不是一种非常优雅的方法。
可变类
创建一个CardA
类,其扩展Card
并使用CardA
作为Card
类。
不幸的是,这些只有两种选择。如果这些不起作用,则必须使用完全限定名称。