2

我有在 Java 中自动生成的类。我想向该类添加一个方法(在另一个文件中),这样我就可以在不更改生成文件的情况下添加其他功能。这个想法是,如果我必须重新创建生成的文件,我不会失去我的新功能。

在 Objective-c 中我知道这称为类别,在 JavaScript 中您可以附加对象的原型,但我不知道如何在 Java 中执行此操作或它被称为什么。

4

4 回答 4

3

这在 java 中不受支持。

部分类/部分类文件

您可以做的一件事是继承生成的类(如果它不是最终类)并添加您的方法。

于 2012-11-26T15:25:19.477 回答
1

你可以只使用组合,即:

public class JasonString {
   String wrapped;

   public JasonString() {
      wrapped = new String();
   }

   public String toString() {
      return wrapped.toLowerCase().toString();
   }

   // other methods of wrapped class you're using should just call the corresponding method in wrapped.
}
于 2012-11-26T15:27:10.517 回答
0

我同意@Itay 我曾经从 Ibatis 自动生成的类,解决您的问题的最佳方法是扩展所有生成的类并添加您想要的功能。

于 2012-11-26T16:08:35.420 回答
0

如果您无权访问生成的类,您可以尝试扩展它(如果生成的类不是最终类)并向子类添加新方法……Java 不支持动态属性作为 JavaScript。

于 2012-11-26T15:25:54.120 回答