java static学傻了,;类方法中给成员变量赋值必须先new个对象,普通方法却不用,为什么呢?

越学越迷糊,好像很简单,但就转不过来弯了,求指点

我也让你给说迷糊了 呵呵
这么说吧 其实被static修饰的变量会在类装载时直接加载到静态内存中
因此不需要创建类的实例就可以直接对其进行使用,但是非静态变量的话就必须创建对象后才可以使用,其实在做开发的时候通常一些公用常用的方法会写成静态方法,这样就避免创建类的实例来调用它,避免了资源的浪费,也许你会有这样的疑问,当写成static时候装载类的时候就加载会不会也是内存资源的浪费,其实不会的 因为static是存在于静态内存中,对内存资源影响不大。希望你不会在迷糊了。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-31
static 方法的执行实际上执行的是磁盘上.class文件中的类方法,由static描述的方法和属性不需要在内存中new出实例(object)。
而由private修饰的成员方法的执行需要new出一个对象来,放在内存中进行存取。
第2个回答  2011-05-31
留QQ 哥给你 指导下
相似回答