JAVA怎么给一个对象动态添加属性?
譬如如下代码
Java code
public class A
{
public static void main(String[] args)
{
A a = new A();
}
}
现在我希望临时给这个a加个属性name
可以获得a.name = "xxx";
同时不修改A这个class
JAVA可以实现吗?如何实现呢?
初学JAVA,谢谢~~~~
------解决方案--------------------按照lz的想法,如果是在程序中实现这个功能应该用继承吧(会增加一个类)
另外Java SE 6 新特性: Instrumentation 新功能:能够替换和修改某些类的定义(虚拟机启动后的动态的操作类)
------解决方案--------------------通过程序修改 .class 文件!
下面这个是用 ASM 工具为 Student 类添加一个 public String 类型的 address 属性:
1,需要添加属性的原始类:Student.javaJava code
public class Student {
private int age;
private String name;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
------解决方案--------------------