我刚刚读了SUN java代码约定;很好的文件btw。我读过这java初学者:初始化类变量
6.3 初始化: 尝试初始化他们在声明局部变量。如果初始值取决于首先发生的某个计算,则不声明初始化变量的唯一原因是它声明的是 变量。
,我想知道,如果Class variables
都具有同样的建议或没有,比如我有:
public class NNmatrix {
protected ArrayList<ArrayList<Double>> matrix; // line 1
public NNmatrix() {
matrix = new ArrayList<ArrayList<Double>>(); // line 2
}
/**
*
* @param otherMtrx
*/
public NNmatrix(final ArrayList<ArrayList<Double>> otherMtrx) {
final int rows = otherMtrx.size();
matrix = new ArrayList<ArrayList<Double>>(rows); // line3
for (int i = 0; i < rows; i++) {
this.matrix.add(new ArrayList<Double>(otherMtrx.get(i)));
}
}
}
编辑代码#如果我初始化在那里的声明(类)的variable
,我会删除“第2行”和离开“第3行”,因为性能问题#在内存中保留(行),如你所知。
的问题是:
- 是做一个很好的做法或初始化事项只适用于局部变量里面只有方法等?
- 如果没关系,我想知道如果我执行了编辑代码#初始化@行3或初始化@行1,哪一个会先到?
是的我现在有了更多的经验后,现在同意你的意见 – 2011-10-06 10:57:28