参数的个数和参数的类型使方法声明的一部分,即:如果将一个方法的参数个数或者阐述类型改变,那么这个方法就变成了另外的方法(即使方法名相同)。既然方法已经不是约定的方法,那么当系统去找约定的public void main(String args[])方法时,自然找不到了。

解决方案 »

  1.   

    就这么归定的,而且相比是个不错的方法,
    main函数是一个唯一的函数,他是程序的入口,所以要唯一,避免出现两个入口的情况
    这样一来,main()肯定不可以了
    要是用char[]来处理,就只能处理字符,字符串很难处理了
    对于用户输入的参数,原则上都可以看做是字符串,无论实际上是
    整型,浮点,字符还是布尔的,所以相比还是这种格式最好了.
    实在想不同,就认为他就是这样就可以了
      

  2.   

    道理很简单。因为这是Java小组制订的。
    我也没办法
    ^@^
      

  3.   

    可以和James Gosling商量一下
      

  4.   

    Hodex(小何才露尖尖角):
    好主意。
      

  5.   

    java的所有运行都是加载到JVM才运行,JVM只认main(String s[])方法,而且必须是public的,static的。如你了解java的类加载机制,就明白了。建议你看java的反射机制。
      

  6.   

    java class运行时先找public static void main (String[] args) {}这个方法
    这个方法是程序的入口,java这么规定,那就这样啦
      

  7.   

    可以和java开发小组商量一下,多加几个接口嘛,
      

  8.   

    不知道有没有人注意过不是public的也可以并不是像上面有人所说必须public所以,应该多看多想多跑。支持楼主敢于提问
      

  9.   

    引自: binny(骑个破车看夕阳)不知道有没有人注意过不是public的也可以并不是像上面有人所说必须public所以,应该多看多想多跑。支持楼主敢于提问——————————————————
    事实上,main()函数你爱写什么样,就写什么样,只要是一个合法的函数定义,甚至不要也行,绝对可以通过编译。但是,如果要做为运行入口的话,则必须按照规定的唯一方式写。
      

  10.   

    这个是java规范,当初就是这么设计的,也是很合理的设计。
      

  11.   

    to binny(骑个破车看夕阳) ( ) :
    如果main()是程序的入口,那么必须要public static void 
    如果没有,会出现Main method not public