public static void main(String [] args)
{
    ......
}
main方法为什么是静态的?

解决方案 »

  1.   

    jvm装载的时候可以直接调用,否则还要new一个对象才能调用,多麻烦?
      

  2.   

    《Java编程思想》有言:如果不需要内部类对象与其外围内对象之间有关系,那么可以将内部内声明为static。记住,普通的内部类对象隐式地保存了一个引用,指向创建它的外围对象……(详见:201页)
      

  3.   

    如果不是静态的话,要启动就必须创建一个实例,但是main是程序入口,创建一个实例又得从main开始.鸡生蛋,蛋生鸡。
      

  4.   

    调用非静态对象要new它的实例,你单算在哪里做这些。
      

  5.   

    首先是 static 方法可以直接通过类名.方法名 访问到。其次为何是main方法,估计是jvm自己设计成这个样子,使得大家都统一了程序入口方法。
      

  6.   

    static声明的方法不用实例就可以使用。不声明为static的话,使用main方法的时候还要对整个类进行初始化。而main又是程序的入口,只有进入入口才能实例化类(个人理解)。这样一边等着进入口,另一边却等着要先进入口再实例化,程序就无法运行。自己都说乱了,呵呵。
      

  7.   

    java中static方法属于类而不是属于某个对象,所以static是可以直接调用的,main方法也一样。static的main方法可以直接被虚拟机调用,方便。
      

  8.   

    《Java编程思想》有言:如果不需要内部类对象与其外围内对象之间有关系,那么可以将内部内声明为static。记住,普通的内部类对象隐式地保存了一个引用,指向创建它的外围对象……(详见:201页)
      

  9.   

    《Java编程思想》有言:如果不需要内部类对象与其外围内对象之间有关系,那么可以将内部内声明为static。记住,普通的内部类对象隐式地保存了一个引用,指向创建它的外围对象……(详
      

  10.   

    在以前main()方法可以不是static的,后来的JSR规范强制规定main()方法的格式必须是:
    public static void main(String[] args)
      

  11.   

    JAVA中的任何方法/函数都必须依附于某个类,而main方法仅仅用作程序的入口而已,无需搞得很复杂,你觉得static和非static方法哪个调用起来更方便呢?
      

  12.   

    使用STATIC声明的对象和方法可通过类名直接访问,其中的MAIN是内建的方法。
      

  13.   

    每天登录回贴,CSDN 赞助分数
      

  14.   

    main方法被声明成 public static 以便类的外部的声明的代码和类的任何对象建立之前调用;静态类都是加载在内存中的(Java程序开始运行首先是从静态类开始的),不需要对它们进行实例化,也不需要实例化;而“类是对象的抽象,对象是类的实例化”,程序实际实际用的是对象,而类只是方便了我们的编程(面向对象更符合人类的思维,通过复用代码来简化我们编程的代码量)。首先,每个程序只有一个入口(开始程序)和一个出口(结束程序)(所以Java中goto跳转时访问保留字),Java借鉴了许多语言的优点,尤其是c语言的,main就是入口,也是出口。static的main不需要找类生产对象,而是main中的内容直接加载到内存中开始运行程序,由类生成对象,对象完成你需要的功能。