如何在eclipse中生成构造函数

我有一个类A和BM扩展A.现在我想要使用eclipse的代码生成选项创建一个B的构造函数,它接受B的所有字段的参数和设置值(我的意思是它也应该设置从Ainheritance的字段)。

有没有在eclipse中生成这样的代码的快捷方式?

在编辑器中单击鼠标右键,然后单击“源 – >使用字段生成构造函数”。 您可以选择要使用的超级构造函数,也可以选择要添加到构造函数的实例变量。

Eclipse(3.5)没有针对该特定情况的内置选项,但无论如何我建议你在超类中有一个单独的构造函数,子类在其构造函数中通过super(...)调用。

这将更容易维护。 例如,如果你在超类中添加一个字段,你需要记住也要更新子类。

 class A { int i; public A(int i) { this.i = i; } } class B extends A { int j; public B(int i, int j) { super(i); this.j = j; } } 

没有自动的方法可以做到这一点我很接近eclipse团队故意这样做,因为它会导致糟糕的设计。

构造一个类只是初始化对象自己的字段。 如果需要在超类上设置(init)字段,请调用超类构造函数,如果需要更改超类字段,请调用超类getter和setter方法。

对我来说,初始化超类字段的设计很糟糕,可以轻松避免。