日期:2014-05-20  浏览次数:20820 次

能否定义有返回值的main
代码如下:
public class Test1 {
public static int main(String[] args) {

System.out.println("test");

return 0;
}
}

javac Test1.java 成功
java Test1 
Exception in thread "main" java.lang.NoSuchMethodError: main

如果定义为:public static void main
则不会有此错误.

我需要有返回值的main
请问该如何处理?


------解决方案--------------------
重新定义一个函数来返回你要的值,在MAIN中调用就可以了
------解决方案--------------------
好像不可以定义有返回的main函数的吧。
请问楼主 想要有返回值的main用来干什么?
------解决方案--------------------
不能
首先是main前面的单词
因为main方法是由java虚拟机调用的,所以必须为public,
又因为虚拟机调用main方法的时候不需要产生任何对象,所以声明为static ;
且不需要返回值,所以声明为void 
所以最终为: public static void main(String[] args)
------解决方案--------------------
3楼说得对,只有C或C++中,才可以有不同的返回类型
------解决方案--------------------
public static void main(String[] args)
------解决方案--------------------
好像不可以的,不知道为什么要用main返回值
------解决方案--------------------
为什么需要有返回值的main函数呢?其他函数不也一样能达到你想要的结果么?
既然选择了java稍微规范一下八!
------解决方案--------------------
有一种说法,c/c++中很多大众写法其实都不符合规范,不同编译器表现也不同,main函数就是一个例子,相比之下,java要好很多。所以..规范。
------解决方案--------------------
每个Java应用程序都必须包含一个main方法,语法如下:

public static void main(String[] args)

  main方法包含三个修饰词:

  (1)public:表示main方法可以由任何对象调用。
  (2)static:表示这是一个类方法,区别于实例方法,与具体的对象无关。
  (3)void:表示main方法没有返回值。

  main方法是Java语言中非常特殊的方法,类似于C/C++中的main函数。当Java解析器执行Java应用程序,它首先执行这个Java类的main方法。你应该把程序的逻辑,比如打印Hello World!字样,写在main里面。

  main方法有一个参数,即args,它是一个字符串数组,操作系统通过这个机制传递命令行参数。