java - Eclipse:以编程方式操作类

标签 java eclipse automation

我刚刚遇到一个问题,我有 10 个(左右)Java 类,我想要:

  1. 向其构造函数添加形式参数“String newparam”
  2. 将其作为实际参数添加到对父类(super class)构造函数的 super() 调用中(因此,结果应为 super(..., newparam))。

原因显然是,这些类的公共(public)父类(super class)现在多了一个构造函数参数,所有扩展类都必须适应。

我简直不敢相信我需要为所有类(class)手动执行此操作。 Eclipse 的内部必须具有所有必需的概念,如“构造函数”、“参数”等。有什么办法为此创建一个脚本吗?

如果这是微不足道的/众所周知的,我深表歉意,我必须承认我真的不知道并感谢任何提示。

最佳答案

更改每个子类的构造函数签名可能必须使用某种脚本来完成。我认为 IDE 不会在每个构造函数中自动推断新参数,因为每个子类可能会以不同的方式使用新参数。

由于您使用的是 Eclipse,因此您可以通过选择父类(super class)的构造函数并点击 alt+shift+c (重构的快捷方式 -> 更改方法签名...)来稍微跳过第二个要求。

当您通过提供的 GUI 添加参数时,对该构造函数的所有引用(例如扩展类中的 super 调用)也将被更新。如果需要,您甚至可以定义默认值。 然后,如果需要,您可以修改每个扩展类的构造函数以也包含新参数(遗憾的是手动)。

关于java - Eclipse:以编程方式操作类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47225130/

相关文章:

java - K&R 配置文件未包含在 Eclipse 上的内置配置文件中

scripting - 在powershell中自动确认删除

python - 在 selenium webdriver python 中选择页面文本

Java 注释 vs C++ pragma

java - Android webservice访问错误

windows - 扩展显示上的 eclipse 缩放问题

java - 当鼠标悬停在变量上时 Eclipse 使用什么 ToolTip 库?

automation - Maximo 自动化脚本没有名为套接字的模块

java - 如何查找数据是英文还是中文

java - TimeZone.getDefault() Attribute value must be constant 错误