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中选择具有相同名称的所有元素[重复]