【发布时间】:2012-12-05 19:28:46
【问题描述】:
在 Java 中是否有一种方法可以将一些字段和方法添加到现有类? 我想要的是我有一个类导入到我的代码中,我需要添加一些从现有字段派生的字段及其返回方法。 有没有办法做到这一点?
【问题讨论】:
-
你能继承现有的类吗?
-
您可以扩展您拥有的类并在新类中添加新方法...
-
你控制源吗?考虑扩展或组合。
-
我不知道为什么人们不赞成这个......我认为这家伙想要的是相当于 C# 的扩展方法,你不必继承类 A,但你可以编写一个扩展方法 foo(),然后你可以调用任何 A 或继承自 A... (A.foo()) 的东西。现在我不知道是否有这样的东西,但它非常有用。
-
我也在寻找 Daniel 上面描述的功能。我不能对现有类(Selenium 的 Window 类)进行子类化,因为很多框架代码都会实例化它,而我不能更新它们来实例化我的子类。所以我需要在这个类中注入一些方法。另一种方法是创建一个新的类层次结构,但将方法直接注入 Window 类会更干净。 Java 有没有类似于 C# 的扩展方法?