黑马程序员技术交流社区

标题: 静态 疑问 [打印本页]

作者: 班志国    时间: 2012-10-28 21:43
标题: 静态 疑问
静态优先于对象存在 那么为什么对象就不可以调用呢 如果对象优先于静态存在,对象不可以调用静态我可以理解因为静态没有产生呢嘛 那 为什么静态优先 比他后存在的不可以调用先存在的东西呢????
作者: 黑马吕世成    时间: 2012-10-28 21:53
对象可以调用静态变量!
他是对象的属性为什么不能调用呢!?只是说调用静态变量可以不用产生对象,而不是不能用对象调用。
作者: 种生祥    时间: 2012-10-28 22:01
静态随着类的加载而加载,也就是说在没有对象的时候,静态已经存在了,对象是可以调用的
作者: 王阳    时间: 2012-10-28 22:03
静态优先于对象,对象可以调用静态滴,但是如果静态里面没有包含对象的成员变量或者函数,那么实例化对象调用静态不就需要在堆内存创建一个对象,有点浪费资源。所以不需要可以直接用类名调用静态,不推荐对象调用。除非静态里面包含了对象的成员变量或者函数
作者: 林志进    时间: 2012-10-29 00:48
static:用于修饰成员(变量&函数),多个对象共享数据。被静态修饰后的数据,存在方法区,除了对象调用,类名也可调用。
特点:1随着累的加载而加载,随着类的消失而消失,生命周期最长
          2优先于对象存在3 被多有对象共享4可被类调用
静态是依赖与类加载的,所以不能调用非静态,但非静态能调用静态

作者: 张其辉    时间: 2012-10-29 01:20
静态存在于方法区内,非静态对象是在对内存中的,
1、静态优先对象是因为静态成员随类的加载就已经存在了,所以它优先对象存在,
2、非静态成员即可以访问静态也可以访问非静态啊,因为静态修饰的就是已经共享的,都可以用的
作者: 丁桂松    时间: 2012-10-29 11:02
类名.静态方法或者静态变量可以调用.
对象名.静态方法或者静态变量也可以调用.
静态方法和属性.只是多加了一种调用方式.并不是不能被对象调用的,亲..
作者: ssx0101    时间: 2012-10-29 11:36
静态变量时属于类的,类的所有实例对象都能对该静态变量进行操作。对象实例化时不会为静态变量开辟存储空间,而是存储静态变量的引用。当通过对象调用静态变量时,是通过那个引用来使用类的静态变量。即
当使用“对象.静态变量”就相当于是使用“类.静态变量”。




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