这可能是一个超级蹩脚的懒惰问题。
是否可以在Eclipse中生成构造函数,如
class A{
int a;
String b;
float c;
/* Is it possible to auto-generate this*/
public A() {
a = 0;
b = "";
c = 0f;
}
}
我知道默认初始化会在任何情况下处理这个问题,但我需要像这样自动生成的代码,以便我可以将say int的默认值更改为5并将其浮动为3等等。
如果这不可用,则下一个最佳选项是使用字段生成构造函数,然后将其转换为此。
答案 0 :(得分:2)
要实现此目的,请在声明时设置字段:
class A{
int a = 9;
String b = "";
float c = 0f;
答案 1 :(得分:1)
您可以在字段声明中更改默认值:
class A {
private int a = 3;
private String b = "asdf";
private float c = 3;
...
}
但如果您希望 clients 提供值,那么最好接受它们作为构造函数参数:
public A() { } // default constructor will use the values in the fields
public A(int a, String b, int c) {
this.a = a;
this.b = b;
this.c = c;
}
答案 2 :(得分:1)
我认为没有。因为,正如你所说,你不需要它。无论如何,基元都被初始化 - 如果你想改变它们,那就这样做。 eclipse无法知道非原语的默认值是什么。
答案 3 :(得分:1)
您尝试实现的目标没有直接的方法,但是有一种方法可以根据您班级中的字段自动生成构造函数。
在Eclipse中,转到...
源/使用字段生成构造函数...
...然后您可以选择要初始化的字段,然后更改构造函数的默认值和参数。
注意:对于您的解决方案,请选择要初始化的字段,然后将其从构造函数的参数中删除,这样它就会变为没有参数的构造函数。
有关详细信息,请访问此链接。 http://www.eclipseonetips.com/2010/03/08/generate-class-constructors-in-eclipse-based-on-fields-or-superclass-constructors/