在Java中,从该类的main方法中实例化一个类的新实例是否正确?
我看过这段代码:
public class MaxContiguousSum {
public int get(int[] iArray){
if(iArray.length==0){
return 0;
}
int maxsum = iArray[0];
int currentsum = 0;
for(int i=0;i < iArray.length;i++){
currentsum += iArray[i];
if(currentsum > maxsum){
maxsum = currentsum;
}
if(currentsum < 0){
currentsum=0;
}
}
return maxsum;
}
public static void main(String[] args) {
int[] iarr = {-7,-6,-5,-4,-5,-6,-7};
MaxContiguousSum maxsum = new MaxContiguousSum();
System.out.println(maxsum.get(iarr));
}
}
这让我感到困惑,因为main方法在类本身内,但实例化了该类的对象。这在Java中是否正确?我的意思是,这是一个好习惯吗?
答案 0 :(得分:0)
这不是一个不好的做法,但是您可能希望在同一个包中分隔您的类,或者甚至在代码增长后将它们分开到不同的包中。
如果是快速测试,那么它绝对没有错。
换句话说......
main
方法是应用程序的入口点。
如果您的应用程序只包含一个类或几个类,可能在同一个文件中,那么您的入口点可以是您的类(一个)的静态方法。
一旦开始获得包层次结构和大量结构化代码,您可能希望将入口点与数据,表示,资源等分开。