我刚刚遇到一个问题,我有 10 个(左右)Java 类,我想要:
- 向其构造函数添加形式参数“String newparam”
- 将其作为实际参数添加到对父类(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/