是java就这么定义的吗这样理解?

解决方案 »

  1.   

    是的,从我开始接触Java以来,就没见过不写在类里面的main。
      

  2.   

    main()是一个方法,当然得在一个类里面。
    而且它是一个程序的入口,所有方法都是由它来调用执行的!
    但一个类里不一定要有main()方法!
      

  3.   

    面向对象的思维,一切皆为类...所以一切都要放在类里面C那个是半面向过程半面向对象的我们老师曾开玩笑说
    c++只有70%面向对象
    java有90%
      

  4.   

    C#的main也是在类内的,这些靠着OO走红的语言都是这个德行的。而实际上这个方法和这个类可能都没有关系。
    牵强附会的最好诠释。
      

  5.   

    main是一个建筑的入口 呵呵 
    大门当然就属于一个建筑了
      

  6.   

    因为Java强调万物都是神圣类
    由于过于强调类的神圣性
    但最后发现类还必须食用人间烟火
    所以最后只能生硬地给类装上这么个不伦不类的人造入口
    实际上main()和类基本没什么关系
      

  7.   

    为什么main是在类里?因为Java的语法就是这么规定的。
    Java语法规定任何一个方法都必须在类里,main也不例外。
    Java同时还规定,用java ClassName来运行一个类中的main函数,而且这个main函数必须是被申明为
    public static void main(String[])的,它可以是final的也可以不是,但必须是public,静态、返回void,且接收String数组参数的。
      

  8.   

    如果你可以修改JDK...让它不给你报个错,也行..写在外面就写在外面..
      

  9.   

    本若理解:发明java的人完全可以把main设计为abc,并且写在类的外面。
    但是之所以是现在的样子固然有它的好处,楼上的都说过了,呵呵。
      

  10.   

    main() 不是 类 的手指
    最多是手套
    甚至可能连手套都算不上
      

  11.   

    我刚接触JAVA的时候也不能理解这个,但是因为JAVA里万物都是类,没有类以外的空间,所以想写main函数只能写在类里,我觉得一个更好的策略就是把main单做成一个类,然后通过一些通用方法运行程序,因为如果类多了,总觉得把main放在哪个类里都不合适,main和任何类都没有归属关系,所以设计的时候是不是可以考虑单做出一个执行类,只用里面的main函数调用外面所有类?话说回来,main函数在类里又有其他的好处:方便测试,通常写完一个类就要测试一下好不好用,再写下一个,这个类可能不能单独运行,需要别人调用运行,如果main在一个统一的得地方的话,只能在那个地方测试这个类,然后正式运行的时候注释掉,这样看起来非常乱,每个单独的类自己带一个main用来测试,不影响正常运行,也不用注释任何代码,很方便的说。
      

  12.   

    MAIN一般是在做应用程序时的一个入口
    如果没有MAIN
    就等同于我们启动程序找不到链接
    虽然程序是好的
    但启动不了
    但在JSEE中就可以不用它了
      

  13.   

    "每个单独的类自己带一个main用来测试,不影响正常运行"
    bloodrate 的这个观点我比较赞同
    这似乎是能容忍将main()写在类内部的唯一的理由为了表明彻底的OO
    java把一切都看成了对象
    但是
    通常对象是由别的对象创造之后才能活动的
    这样就产生了一个悖论
    顶层的对象如何被创造并自举?
    这是一个无解的哲学问题
    很让人无奈
    牛顿在这种情况下狡辩说
    "上帝踢了它一脚"
    James Gosling的办法是
    蹩脚地容许给类添加上一个main()
    main()是对象的"第一推动力"
    或者是"第一推动力"的电源插座
      

  14.   

    理论上来说
    main() 应该是超然于类的
    但在现实中却必须寄"类"篱下
    原因只有一个
    java把一切都看成了对象
    要求代码必须以类为基本单元
      

  15.   

    说java里一切皆类 我不觉得
    为什么要把main函数定义成静态的呢 说明类的还不够完全  完全可以有个main类 然后从main类里的第一个函数开始执行程序
      

  16.   

    把main函数定义成静态是因为它必须是全局的
    本质上来说
    main()既不属于类
    也和类无关
      

  17.   

    恩,每个类都可以有main方便单元测试
      

  18.   

    main函数用来测试那个类写得对不对,所以写在里面比较方便,不然用来测试多少个类呀?