小弟初学JAVA,想不明白一个问题,为什么在类中调用函数一定要静态地调用?
代码如下:
为什么不可以像C++里面那样直接调用呢?
望大侠不甚赐教!public class ghost {
 public static  void  ghost()
{
System.out.println("函数调用成功!!!");

}

public static void main(String args[] )
{
System.out.println("ghost is a big worry");
for(int a=0;a<10;a++)
{
ghost();

}


}}

解决方案 »

  1.   

    你是说为什么public static  void  ghost()中得加static ?
    因为main()是static,在main()中调用ghost(),所以ghost()需要是静态的!
      

  2.   

    可以不用static,new class().function
    另外想问一下什么叫"像C++里直接调用"呢
      

  3.   

    就是像china8848(永远在一起)同志说的不加static,直接写函数名调用函数啊!
    china8848(永远在一起)你好!
    请问我还是不是很理解,你能否再写详细一点,谢谢先!
      

  4.   

    没有什么一定要静态调用的说法。之所以像楼主这么写,只是用起来方便罢了。完全可以改成这样:public class Ghost {public void shout() { //这个方法不是静态的
    System.out.println("函数调用成功!!!");
    }public static void main(String args[] ) {
    System.out.println("ghost is a big worry");for(int a=0;a<10;a++) {
    new Ghost().shout();
    }
    }
    }
      

  5.   

    对象都没new出来 当然只能static
      

  6.   

    实例方法必须要先new一个类才能使用
      

  7.   

    static表示它是类的东西,你不需要自己去实例化这个类就可以访问他。以为他的存储方式跟普通的方法是不一样的,应该属于静态存储
      

  8.   

    那这个这么理解啊 ?也是一个静态的方法么?public static void main(String args[] )
      

  9.   

    这就是面想对象的优点。
    比如调用System.out.println()
    还有Math.cos()等函数的调用。
    静态方法可以直接用类然后.方法调用。
    以后多编程就自然清楚了。