在Java中从main中创建同一个类的新实例

时间:2014-04-03 15:59:09

标签: java object

在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中是否正确?我的意思是,这是一个好习惯吗?

1 个答案:

答案 0 :(得分:0)

这不是一个不好的做法,但是您可能希望在同一个包中分隔您的类,或者甚至在代码增长后将它们分开到不同的包中。

如果是快速测试,那么它绝对没有错。

换句话说......

main方法是应用程序的入口点。

如果您的应用程序只包含一个类或几个类,可能在同一个文件中,那么您的入口点可以是您的类(一个)的静态方法。

一旦开始获得包层次结构和大量结构化代码,您可能希望将入口点与数据,表示,资源等分开。