如何将属性函数添加到 Java 中另一个 class 的对象?

How to add properties functions to objects from another class in Java?

在Java脚本中我们可以这样定义一个对象

let obj={
    property1:67,
    func1: function (){
        //Some code
    }
}

现在,如果我们想向 obj 添加一个新的 属性,我可以像这样添加一个新的 属性

obj.property2=733; //some value or function

现在我也想在 Java 中做同样的事情。

我有一个class测试

public class Test{
    int property1=67;
    public void func1(){
        //Some code
    }
}

现在是否也可以像 Java 中的语句 #2 那样做同样的事情?

编辑: 从答案中我知道我们可以使用 Map 作为属性。 现在我想知道方法。 谢谢

所以我做了一个研究,我发现这并不简单。

在 java 中你不能这样做,实际上,如果你提供自己的自定义 class 加载,你可以这样做,这真的是一个坏主意,因为即使你改变了 class 你想要你必须重新加载与此 class.

交互的所有 classes

检查 this article 以了解有关 class 加载器的更多信息。

当然还有其他一些方法如:

  • ASM 一个通用的 Java 字节码操作和分析框架。

  • Javassist 用于在 Java

    中编辑字节码的库
  • AspectJ Java 的面向方面的扩展,主要用于清除横切关注点的模块化