日期:2014-05-20  浏览次数:20615 次

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

------解决方案--------------------
1.static方法可以用类名直接来调用,而一般方法只能先new出一个对象才能调用

2.static变量是在类loading的时候一次生成并存放在程序运行空间的数据区域,而一般的实例变量则是在类执行的时候在堆栈生成

從你理解的來分析下,注意:static方法里面只能有static變量(本類中的屬性),想想第2點。再看看第1點,static方法可以用类名直接来调用,再多線程中調用它時,都是調用同一塊內存,static方法與屬性都是屬于類級別的,不管你new多少個對象,都是調用同一塊內存