2014-04-03 65 views
0

在Java中从该类的主要方法内实例化类的新实例是否正确?在Java中主要创建同一个类的新实例

我看到这个代码:

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)); 
} 

} 

而且它是一种困惑,因为我的主要方法是类本身,而是被实例化类的一个对象。这在Java中是否正确?我的意思是,这是一个好习惯吗?

+0

一切都在正确的背景下是正确的。你确切的问题是什么? – Kon

+0

这很好,如果它的工作,并明确。这里没有特别的代码味道,如果这就是你要求的,至少在你的例子中没有。在较大的应用程序中,我并不倾向于拥有这样的代码,但对于单个源文件的快速一次性使用,这非常方便(并且说实话,比在小程序中将所有内容都设置为静态的更好) 。此外,有时甚至在大型项目中,将'main'放入特定类以进行快速测试或实用程序应用程序会很有用。 –

回答

0

这不是一个坏习惯,但是你可能想要在你的代码增长的时候将你的类在相同的包中分开,或者甚至在不同的包中分开。

如果是快速测试,那绝对没有问题。

换句话说...

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

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

一旦你开始得到封装层次和很多你可能希望你的切入点,从您的数据,演示文稿,资源等独立的结构化代码

相关问题