社区
Java SE
帖子详情
java 静态和非静态的一点疑问
jssyxzy
2014-07-24 10:29:30
java非静态方法不能访问静态成员,处于什么考虑?
...全文
193
9
打赏
收藏
java 静态和非静态的一点疑问
java非静态方法不能访问静态成员,处于什么考虑?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
空指针不懂404的忧伤
2014-07-25
打赏
举报
回复
引用 6 楼 xiaopeipei2004 的回复:
在java语法级别,静态成员不允许声明在类内部,全部抽取到另一位置声明,会不会更清晰一些。
我感觉也应该这样,可能是为了表现成,静态成员属于类的吧,找也方便些。我记得某本书好像解释过这个问题。
七脉
2014-07-25
打赏
举报
回复
静态方法不可以访问非静态属性或者方法,是因为静态方法先于类加载,而非静态的方法只有在对象建立后,被对象调用才会执行;所以静态方法是无法直接读取非静态方法的,只有在静态方法中建立这个对象,然后用这个对象调用非静态方法
yktd26
2014-07-25
打赏
举报
回复
说反了... 不光JAVA,不然逻辑上过不去
结贴是美德
2014-07-25
打赏
举报
回复
能访问啊,楼主问题搞错了都
Yoara
2014-07-25
打赏
举报
回复
可以访问呀。
yinan9
2014-07-25
打赏
举报
回复
在调用静态方法时,不会将对象的引用传递给它,而非静态成员都初始化于各个对象中,而没有对象的引用也就不能访问这些非静态成员。
grapepaul
2014-07-25
打赏
举报
回复
在java语法级别,静态成员不允许声明在类内部,全部抽取到另一位置声明,会不会更清晰一些。
空指针不懂404的忧伤
2014-07-25
打赏
举报
回复
原理:一般情况下,静态成员是先加载,并且贮存在内存中,静态成员是属于类的,也就是类变量,他是属于类的,不属于实例对象。所以即使是对象消亡了,类变量也不会消亡。当加载完静态成员之后,才会加载实例变量和实例方法。 结论:所以在静态方法中,当加载静态方法的时候,还没有加载实例方法和变量,所以不可能访问的到。 这样做的道理:有一些常用,频繁使用的方法和变量,如果放在实例中的话,每次使用都必须实例化对象,这样的话会消耗很多的 内存,这样对内存的开销是浪费的。如果放在静态方法中的话,只加载一次,因为它属于的是类,而不是实例。这样多次调用的话,也只是调用它一个而已。
dandan8989251
2014-07-25
打赏
举报
回复
我感觉楼主是说反了!我修改了一下 java静态方法不能访问非静态成员,处于什么考虑? 答:静态的东西,不管是成员变量或方法。都是比非静态先加载到方法区。然后非静态的东西再依次加载到堆栈中。非静态的东西在静态加载到方法区的时还不存在,所以静态方法不能访问非静态成员。(PS:你不能访问一个还不存在的东西吧)
Java
中
静态
属性和
非
静态
属性有什么区别?
本文深入探讨了
静态
属性和
非
静态
属性的概念、特点及区别,解析了它们在内存中的存储方式,以及如何影响程序的运行效率。同时,对比了成员变量与
静态
变量的特性,帮助读者更好地理解
Java
中变量的作用域和生命周期。
完全理解
Java
中
静态
代码块,
静态
方法,
静态
变量,
非
静态
代码块,
非
静态
变量,构造函数初始化顺序
本文深入解析
Java
中
静态
代码块、
静态
方法、
静态
变量、
非
静态
代码块、
非
静态
变量、构造函数的执行时机与顺序,通过实例演示初始化过程。
Java
中的
静态
和
非
静态
(有代码实例,超详细!)
文章介绍了
Java
中
静态
和
非
静态
的概念,包括它们的定义和区别。
静态
成员属于类,可通过类名直接访问,常用于常量和工具方法。
非
静态
成员属于类的实例,依赖对象状态。文章提供了实例代码来展示
静态
变量如何记录类实例数量,以及如何通过
静态
和
非
静态
方法访问这些成员。最后,文章给出了巧记这两种特性的方法。,
非
静态
方法可以访问
Java
中的
静态
变量/方法吗?
探讨了
Java
中
非
静态
方法访问
静态
变量和方法的可能性,以及相反情况下的限制。介绍了如何从
静态
方法中访问
非
静态
成员,解释了背后的原理。
Java
中
静态
方法,
非
静态
方法,
静态
变量,
非
静态
变量四者之间的关系
本文详细解析了
Java
中
静态
方法、
非
静态
方法、
静态
变量与
非
静态
变量的概念及其相互间的关系。阐述了它们在程序运行时的初始化时机,以及如何在不同类型的元素之间进行调用。
Java SE
62,621
社区成员
307,251
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章