Java平台SE的方法5 API规范Instrumentation.redefineClasses(ClassDefinition[])
告诉限制:Java。阶级重新定义
重新定义可以更改方法体,常量池和 属性。重定义不得添加,删除或重命名字段或方法,更改方法的签名或更改继承。
什么意思是attributes
?我认为它可以访问修饰符(私有,公共,...),同步,最终和其他修饰符。但是,如果我试图重新定义不仅是方法体,而且它的访问修饰符,或之类的访问修饰符,或尝试做一个同步的方法,我有
java.lang.UnsupportedOperationException: class redefinition failed: attempted to change method modifiers
at sun.instrument.InstrumentationImpl.redefineClasses0(Native Method)
at sun.instrument.InstrumentationImpl.redefineClasses(Unknown Source)
那么,什么是attributes
在这背景?
“对于属性,这在Java编程中是一个非常模糊的概念” - 实际上我没有得到这个短语。你什么意思? – Male
在Java中,人们很少会说“属性”。关于“属性”是什么没有官方定义。 – StarPinkER