A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 人心如水 中级黑马   /  2014-6-21 18:38  /  1099 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

问两个静态方面的问题:
              1,我们知道如果方法里面没有对象特有数据就加静态,静态方法只能调用静态成员,他们都在类创建时就创建了,那么静态成员还有其他的作用吗?除了被静态和非静态方法调用之外的作用。
              2,非静态内部类里面不能有静态的成员,我自己的理解是:静态的方法必须被类调用,非静态里面的静态方法没有存在的意义,静态的成员变量可以被非静态的方法调用为什么没有存在的意义?只能final?

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

4 个回复

倒序浏览
1.静态的可以直接被类名调用。当在单例模式,或者其他不能创建对象的时候,是用类名调用是很重要的。
2.非静态内部类为什么不可以定义静态,因为静态是随着类的加载而加载的,所以是先有了非静态内部类的内部成员,后有了非静态,这样说有意义?类都还没有,就有了成员,说不通,所以非静态内部类为什么不可以定义静态,
还有就是,为什么静态的成员变量可以被非静态的方法调用为什么没有存在的意义?只能final? 之所以定义为静态成员变量,是因为它们是共享数据,我们去改变他是没有意义的,如果用fianl 修饰,就避免了被修改,更加安全。

评分

参与人数 1技术分 +1 收起 理由
李小然 + 1

查看全部评分

回复 使用道具 举报 1 0
姿_`态 发表于 2014-6-21 19:24
1.静态的可以直接被类名调用。当在单例模式,或者其他不能创建对象的时候,是用类名调用是很重要的。
2.非 ...

谢了。。。。
回复 使用道具 举报

不客气,共同学习,嘿嘿
回复 使用道具 举报
学习了 谢  谢  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马