Java - 使用两个具有相同名称的类[重复]

Posted

技术标签:

【中文标题】Java - 使用两个具有相同名称的类[重复]【英文标题】:Java - use two classes with equal name [duplicate] 【发布时间】:2017-03-04 21:27:25 【问题描述】:

是否有可能使用两个具有相同类名的类,而不必直接指定其中一个来自哪个包?

例如:

using com.org.TreeView;

...
TreeView tv = new TreeView();
reg.org.TreeView tvOrg = new reg.org.TreeView();

我不想每次都指定另一个TreeView 来自reg.org

我想做的是,指定一些变量,它采用reg.org.TreeView 的类型,每次我需要创建reg.org.TreeView 时,我都使用这个变量而不是整个类型。当包根目录很大时,使用类的完整路径可能会很烦人。

【问题讨论】:

装饰器可能工作 检查这个问题,它完美地回答了它***.com/questions/2447880/… @JosepPrat:Java 不是 Python。 我的第一个想法是编写一个扩展TreeView 的子类(假设它不是final),并使用super(...) 重写所有构造函数。如果任何公共方法采用reg.org.TreeView 参数或返回reg.org.TreeView 结果,仍然存在问题。如果这不是问题,那么您可以免费获得这些方法。 (静态方法除外。) 好吧,让我们后退一步。你怎么会有一个你可以有模棱两可的类名的场景?这是一种代码味道,表明您可能应该在某个地方合并职责? 【参考方案1】:

不是因为它有歧义,你必须指定类包。

【讨论】:

嗯,我想他已经知道了,他在问有没有办法解决它。

以上是关于Java - 使用两个具有相同名称的类[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 AWS Glue 中加入操作后删除具有相同名称的重复字段

在不同的ng-app中具有相同名称的ng-controller不起作用[重复]

如何使用jQuery在某些特定div中选择具有相同名称的所有元素[重复]

Hibernate - JPA 在不同的情况下生成具有相同名称的重复表

具有相同名称的纯虚函数的不同实现[重复]

防止在get方法php中传递其他具有相同名称的隐藏下拉字段[重复]