书上说static方法可以用类名直接来调用,而一般方法只能先new出一个对象才能调用,那么除了这以外,static方法还有什么特别之外呢?比如在内存中static方法的存放有没有特别的地方,因为static变量是在类loading的时候一次生成并存放在程序运行空间的数据区域,而一般的实例变量则是在类执行的时候在堆栈生成,那么static方法是否也有类似的特别地方呢?

解决方案 »

  1.   

    1.static方法可以用类名直接来调用,而一般方法只能先new出一个对象才能调用2.static变量是在类loading的时候一次生成并存放在程序运行空间的数据区域,而一般的实例变量则是在类执行的时候在堆栈生成從你理解的來分析下,注意:static方法里面只能有static變量(本類中的屬性),想想第2點。再看看第1點,static方法可以用类名直接来调用,再多線程中調用它時,都是調用同一塊內存,static方法與屬性都是屬于類級別的,不管你new多少個對象,都是調用同一塊內存
      

  2.   

    static方法属于整个类,不创建对象也可以使用。一般方法属于某个具体对象
      

  3.   

    还有就是static方法对于这个类的每一个对象都是共享的。