在用java写代码时, 主函数前为什么要加static?
静态方法有什么特点?

解决方案 »

  1.   

    静态方法不用实例化就可用 比如ClaaaA.XXXX();
    主函数是程序的入口 供JVM调用
      

  2.   

    java在编译时,会把声明为static的变量或者方法自动生成,这样,在执行class的时候,就可以不用new方法构造对象,直接使用就可以了。
      

  3.   

    static方法不需要NEW出对象就可以执行,不加的话JAVA 虚拟机在加载这个程序的时候 还没有对象 那程序就无法执行了,
      

  4.   

    类里面的static方法不用生成对象就可以直接通过类调用,所以main方法也是,只有static方法才可以不用生成对象使用。这也体现了java的安全性。
      

  5.   

    java的static方法是静态的不用实例化对象就可以调用,保证java的稳定性
      

  6.   

    如果你想调一个类中的普通的方法,首先你得new一个这个类的对象,而如果那个方法是static的,你完全可以在没有new这个类的对象的情况下直接用类名.方法()去掉这个方法,主函数是一个程序的入口,在你开始执行时是没有对象的,这个方法必需是static的。
      

  7.   

    因为Java是依存于类实现的
    而对于类来说,如果要调用一个函数的话,而不进行对象实例化,
    唯一的方法就是对其进行声明为Static函数
      

  8.   

    如果main函数不加static的话,就表示需要先创建对象,如XXX aaa = new XXX() 再调用 aaa.main.
    需要使用 static 因为对象需要先在内存中创建才能被使用,而当刚开始执行时,内存中还没有这个对象。
    而static方法是一个不和对象状态绑定的方法,有时我们也说是无状态的方法,它不需要一个对象事先存在就可以调用它的方法。
    关于static的用法属于基础知识,楼主去看一些参考书好好理解理解吧。
      

  9.   

    给段程序讲解下
    class A{
       static void prT(){
           System.out.println("A");
       }
       
       void p(){
           prT();
       }
    }class TestA{
       A aa=new class();
       static void main(){
          aa.p();
       }
    }
    这样用可以打印出“A”,是这个意思吗?
      

  10.   

    main函数是sun制定的主函数入口,就想1+1=2一样,是在java出现时就设计好的。
    当然可以反向推断一下,
    我想提一个问题,如果让你去设计这个主函数入口你如何去设计它呢?
    要求 :jvm在启动时就要调用这个主函数。
    我能找到的方法有2种,
    一种是public static void main(String[] args){}
    另一种是public void main(String[] args){}
    那么这两种方法那个好一点呢?
    有static的方法,static告诉jvm这个方法是唯一的。因此,jvm会直接分配内存空间存放它,也就是说,在jvm启动的时候这个方法就已经存在了。而没有static 的方法,jvm需要先调用构造函数(必须是无参数的,如果有参数的话jvm不知道该传什么值)构造对象,然后通过对象obj.main()去启动主函数。
    现在,两种方法的优劣是不是已经清楚了呢!
      

  11.   

    ??????????????
    那main方法是由哪个类 调用的呢  难道是jvm.main()
      

  12.   

    只是 想问一下  我不知道 是由什么调用的main  讨论讨论哈
      

  13.   

    一般类的MAIN方法,都是用来测试这个类使用的