一个类可以在运行时向自己添加一个方法(比如从一个static块),这样如果有人在这个类上执行反射,他们会看到新方法,即使它没有在编译时定义?
背景:
我正在使用的框架要求按惯例Action定义具有doAction(...)方法的类.框架在运行时检查这些类,以查看其doAction()方法中可用的参数类型.例如:doAction(String a,Integer b)
我希望每个类能够以编程方式生成doAction()具有各种参数的方法,并在检查时及时生成.方法的主体可以是空的.
我想在Java中的String类中添加一个方法AddDefaultNamespace(),这样我就可以输入"myString".AddDefaultNamespace()而不是DEFAULTNAMESPACE +"myString",以获得类似"MyDefaultNameSpace.myString"的内容.我不想添加另一个派生类(例如PrefixedString).
也许这种方法对你不好,但我个人讨厌使用"+".但是,无论如何,是否可以在Java中向String类添加新方法?
感谢致敬.