在Java的main中创建同一类的新实例
在Java中,从类的主方法中实例化一个新的类实例是否正确 我看到了这个代码:在Java的main中创建同一类的新实例,java,object,Java,Object,在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 +=
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));
}
}
公共类MaxContinguousSum{
公共int get(int[]iArray){
如果(iArray.length==0){
返回0;
}
int maxsum=iArray[0];
int currentsum=0;
for(int i=0;imaxsum){
最大和=当前和;
}
如果(当前和<0){
currentsum=0;
}
}
返回最大和;
}
公共静态void main(字符串[]args){
int[]iarr={-7,-6,-5,-4,-5,-6,-7};
MaxContiguousSum maxsum=新的MaxContiguousSum();
System.out.println(maxsum.get(iarr));
}
}
这让我有点困惑,因为主方法在类本身中,但正在实例化该类的对象。这在Java中正确吗?我的意思是,这是一个好的实践吗?这不是一个坏的实践,但是您可能希望在同一个包中分离类,甚至在代码增长后在不同的包中分离类 如果是为了快速测试,那绝对没有问题 换句话说
main
方法是应用程序的入口点
如果您的应用程序只包含一个类或几个类,可能在同一个文件中,那么您的入口点可以是(其中一个)类的静态方法
一旦开始获取包层次结构和大量结构化代码,您可能希望将入口点与数据、演示文稿、资源等分离。在正确的上下文中,一切都是正确的。你的确切问题是什么?如果它有效且清晰,那就好了。这里没有特别的代码味道,如果这是您要问的,至少在您的示例中没有。在更大的应用程序中,我不倾向于使用这样的代码,但对于使用单个源文件的快速一次性操作,它非常方便(老实说,这比在小程序中使所有内容都
静态要好得多)。此外,有时,甚至在大型项目中,在特定类中放置main
,对于快速测试或实用程序应用程序也很有用。