【发布时间】:2012-08-21 06:00:26
【问题描述】:
有没有办法给标准Java类添加方法,比如Object?
我知道你不能继承像 String 这样的类,它们是 final,但 Object 不是。我知道我可以将 Object 子类化并在子类中定义一个方法,并使我的所有类成为它的子类,但我宁愿不必这样做。
我怀疑这是不可能的,或者我忽略了一些东西。提前感谢您的任何回答。
【问题讨论】:
-
您不能将方法添加到标准 java 类中。
-
你应该这样做!您期望的行为是在 Javascript 原型中。
-
这是用于测试还是生产代码?
-
您能解释一下您为什么要这样做吗?
-
是的,我认为这在 Java 中是不可能的。最初它是为了做一些实验,但如果我能得到其他东西来配合它工作,它有望最终出现在一些 OSS 软件中。我希望向 Object 添加方法实际上有两个原因。一个是因为从逻辑上讲,这是出于其他原因的最佳方式。另一个原因是我想到的方法主要依赖于 this 关键字。但是,请参见下文。
标签: java class methods monkeypatching