这样的话,是不是main()里所调用的函数也要static类型的了?

解决方案 »

  1.   

    static表示静态方法,可以脱离类而实现,也就是说可以没有一个类的实例也能执行这个static方法,类似于一个全局方法。因此,static方法中的代码必须是可以单独拿出来执行的,如果要执行这个类中的非static方法,必须先实现一个这个类的实例。
      

  2.   

    类中的静态函数,可以在不被实例化对象的情况下调用。main()是一个程序执行的入口,系统必须先进入这个入口,也就是先要调用main()函数,才能继续程序的执行,如果main()不用static修饰,系统就没法进行调用,因为一开始系统不能创建任何对象。而加上了static后,系统就可以直接调用main()函数了,从而继续程序的执行。
      

  3.   

    如:
    class A{
      String x;
      String y;
      aFunction(){
      }
      static bFunction(){
         //要在这里调用aFunction,则必须先有一个A的实例
         A aa = new A();
         aa.aFunction();
         //B类的静态方法随处直接可用,无需要先有B的实例,所以cFunction中的代码必须是脱离类可独立可执行的
         B.cFunction();
      }}
    class B{
       static cFunction(){  }
    }
      

  4.   

    main函数类型为static,这是java语言的一种规定!
    也就是说这种方法不是因为类的出现而出现的!换句话说,没有类之前这个方法是依然存在,并且可以被使用的!
      

  5.   


    main函数类型为static,这是java语言的一种规定!
    也就是说这种方法不是因为类的出现而出现的!换句话说,没有类之前这个方法是依然存在,并且可以被使用的!static表示静态方法,可以脱离类而实现,也就是说可以没有一个类的实例也能执行这个static方法,类似于一个全局方法。因此,static方法中的代码必须是可以单独拿出来执行的,如果要执行这个类中的非static方法,必须先实现一个这个类的实例。
      

  6.   

    MAIN实际上不是程序执行的入口.如果了解底层就知道.不知道有没有学过C.有的子程序写在MAIN的前面,那末如果说是从MAIN开始执行,那上面的子程序就不会向上面调用了,其实每个程序的执行都要经过预编译的,就相当于在把程序先筐起来,然后在进行后面的所谓的MAIN入口.
    我觉得所谓的静态MAIN,这是一种类的方法,没有实现的东西就是抽象的就是接口,接口就是一种规范,你可以根据需要来进行对STRING ARG[]进行参数的初始化.
      

  7.   

    我是刚学JAVA,谢谢朋友,
    我在提这个问题之前,没记住以前看到过的一句话,“JAVA中皆为类”。而脱离类一般不就是要为static类么,C++白学了,呵呵