static 方法里只能调用其他的static方法。但是main函数里就能调用其他非static函数?

解决方案 »

  1.   

    得先弄明白 static 与普通方法的区别。通俗点来说方法名只是个地址引用,static 方法的引用是个绝对地址,因此可以直接能找到。
    对于非 static 方法来说,是个相对地址,或者说是个地址的偏移量,只有等对象的引用产生
    后通过偏移量才能计算出实际的地址,因此非 static 方法只能通过对象来进行调用。
      

  2.   

    在下是初学者中的初学者,我只知道有静态和飞静态之分啊!
    static是静态变量,至于能不能引用,看其类型是什么
      

  3.   

     一句话,静态方法可以由类调用,但是非静态方法就一定要由对象来调用,平时看到的方法里调用方法实际上有一个this.也就是对象访问了.
    那么,因为这个静态方法也可以由类调用,这时候它没有创建对象,所以说你想在静态方法里调用非静态方法是不行的,因为这时候没有对象创建.
      

  4.   

    不行的,除非你创建了一个对象,不然是不用调用非static函数的,原因楼上几位都说得很清楚了