Java Eclipse:以编程方式操纵类
我刚刚遇到一个问题,我有10个(大约)Java类,我想:Java Eclipse:以编程方式操纵类,java,eclipse,automation,Java,Eclipse,Automation,我刚刚遇到一个问题,我有10个(大约)Java类,我想: 将形式参数“String newparam”添加到其构造函数中 将其作为实际参数添加到超级类构造函数的super()调用中(因此,结果应该是super(…,newparam)) 原因很明显,这些类的公共超类现在多了一个构造函数参数,所有扩展类都必须适应 我真不敢相信我需要在所有的课堂上用手来做这件事。Eclipse的内部必须包含所有必需的概念,如“构造函数”、“参数”等。有没有办法为此创建脚本 如果这是琐碎的/众所周知的,我很抱歉,我必须
如果这是琐碎的/众所周知的,我很抱歉,我必须承认我真的不知道也不欣赏任何提示。更改每个子类的构造函数签名可能必须使用某种脚本。我认为IDE不会在每个构造函数中自动推断出新参数,因为每个子类可能会以不同的方式使用新参数 由于您使用的是Eclipse,您至少可以通过选择超类的构造函数并点击
alt+shift+c
(重构的快捷方式->更改方法签名…)跳过第二个需求
通过提供的GUI添加参数时,对该构造函数的所有引用(例如扩展类中的super
调用)也将更新。如果需要,甚至可以定义默认值。
然后,如果需要,您可以修改每个扩展类的构造函数,使其也包含新参数(遗憾的是,手工修改)。更改每个子类的构造函数签名可能需要使用某种脚本。我认为IDE不会在每个构造函数中自动推断出新参数,因为每个子类可能会以不同的方式使用新参数 由于您使用的是Eclipse,您至少可以通过选择超类的构造函数并点击
alt+shift+c
(重构的快捷方式->更改方法签名…)跳过第二个需求
通过提供的GUI添加参数时,对该构造函数的所有引用(例如扩展类中的super
调用)也将更新。如果需要,甚至可以定义默认值。
然后,如果需要,您可以修改每个扩展类的构造函数,使其也包含新参数(遗憾的是,手工操作)。谢谢您的评论和回答。目前似乎没有(广为人知的)Eclipse内置方法来实现我想要的功能。 简言之: 向超类添加一个新的构造函数参数,同时, 创造 在所有扩展类的构造函数中使用相同的参数并传递 参数传递到超类构造函数 但应注意的是,该功能 向超类添加新的构造函数参数,并向所有扩展类添加此参数的默认值 通过
重构->更改方法签名…
(谢谢@zron)工作
如果你真的有很多类,一个非常明显的解决方案就是编写一个脚本。brahimfes提出了一个Java类,它的优点是不需要新的语言或工作环境,因为我的问题是Java特有的。我还认为sed脚本可能会起作用。然而,我没有尝试,首先,识别正确的行(构造函数和超类构造函数调用,尽管第二行很简单),其次,识别添加参数的正确位置,第三,实际添加它们。可能行得通,我没有尝试,我只是怀疑你会在这样一个脚本上工作多久,直到它没有错误
现在我终于找到了解决办法。
我意识到我在每个子类中总是有相同的按键(在我手动将新参数添加到超类构造函数之后):
该计划仍将节省我的时间在未来类似的要求。但这并不是我所希望的,这将是一种Eclipse内置脚本语言,可以访问Java语法元素,从而获得比正则表达式更高级别的访问。感谢您的评论和回答。目前似乎没有(广为人知的)Eclipse内置方法来实现我想要的功能。 简言之: 向超类添加一个新的构造函数参数,同时, 创造 在所有扩展类的构造函数中使用相同的参数并传递 参数传递到超类构造函数 但应注意的是,该功能 向超类添加新的构造函数参数,并向所有扩展类添加此参数的默认值 通过
重构->更改方法签名…
(谢谢@zron)工作
如果你真的有很多类,一个非常明显的解决方案就是编写一个脚本。brahimfes提出了一个Java类,它的优点是不需要新的语言或工作环境,因为我的问题是Java spe