黑马程序员技术交流社区

标题: Static关键字 [打印本页]

作者: 高泳    时间: 2014-9-23 15:44
标题: Static关键字
Static可以直接理解为一个类创建出来的所有对象的共有资源吗?
作者: 神秘人F    时间: 2014-9-24 09:15
类中的静态变量和静态方法在类没有new的时候可直接调用。
例如:类A(其中有静态变量b和静态方法m),A的一个实例a(A a=new A();)
调用时可以用A.b和A.m,也可以用a.b和a.m,并且两种调法是一样的。这里的一样是完全一样。
静态方法可以直接调用主要是因为在JVM运行时就将静态方法加载到内存中了 所以不需要实例类
作者: THE_FUTURE    时间: 2014-9-24 09:32
静态区随类加载就存在了,优先于对象存在。
作者: 戏言丶    时间: 2014-9-24 10:18
我是来学习的
作者: 曾宇    时间: 2014-9-24 12:55
你可以把static理解为new了一个对象。
静态的,相当于固定存在的。
new相当于,你对java虚拟机说,java虚拟机对电脑说,我需要一块内存,然后电脑给你一块内存存放类或变量,在一定时间未使用或无其他调用关联时,被java回收机制销毁。
static相当于你标识了这个类或变量,java虚拟机运行的时候,直接对电脑说,我需要一块固定的内存空间,并且这块内存空间在程序的整体运行停止之前,是不会销毁的。
作者: 不系之舟王    时间: 2014-9-24 12:58
我再看看。。
作者: LFW    时间: 2014-9-24 13:22
static修饰的成员就是类成员,类成员属于整个类,不属于单个对象。随类的加载而加载,直到该类被卸载消亡。可以理解为被所有对象共享。对象可以访问类field,但更建议直接类名.field(C#只支持这个,不支持实例对象访问类field)。这是我从书上看到的知识。
作者: zuochbd    时间: 2014-9-24 13:44
可以这么理解吧. 不过我觉得最好不要用"资源"角度来理解这个东西.




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2