| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 841 人关注过本帖
标题:有关static修饰的静态方法
只看楼主 加入收藏
jhtyolg20002
Rank: 1
等 级:新手上路
帖 子:66
专家分:6
注 册:2007-3-29
收藏
 问题点数:0 回复次数:5 
有关static修饰的静态方法
有关static修饰的静态方法,通常有这样一个结论 [静态方法中不可以引用非静态的属性和方法] !!!
我的疑惑是:[完全不可以],还是[不可以直接引用]???
如果我在静态方法中,创建一个对象,利用对象来调用非静态的属性或者方法,那这应该算是什么概念呢???

如果面试考官问我 [在静态方法中可以引用非静态的属性和方法吗?]
我应该怎么回答呢?
想能有人给我一个准确而清晰的回答,谢谢!!!
搜索更多相关主题的帖子: 概念 
2012-08-16 00:38
紫色的自由
Rank: 1
等 级:新手上路
帖 子:21
专家分:7
注 册:2011-6-8
收藏
得分:0 
静态方法中创建的类的对象,该类也必须是静态的。不知道说的对不对,希望高手指点!
2012-08-16 15:37
lz1091914999
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:四川
等 级:贵宾
威 望:37
帖 子:2011
专家分:5959
注 册:2010-11-1
收藏
得分:0 
呵呵,楼主没搞清楚一个概念,什么是非静态?非静态指的是与某个对象所关联的东西,只有通过这个对象的引用才能访问它。静态指的是不管你创建多少个对象,这个东西只会存在一份,也可以说它是与某个类关联的,因为可以通过 类名.成员的方式来访问(前提是该静态域是公共的)。

My life is brilliant
2012-08-18 16:58
hong25100
Rank: 2
等 级:论坛游民
帖 子:17
专家分:32
注 册:2009-5-19
收藏
得分:0 
额..静态是在固定内存段里面存在的代码吧....
你在静态方法中创建的class如果不return的话 他将会被回收
你再次用静态方法 他会创建新的class 里面的数据将会是全新的
这不代表你引用了其他非静态属性......因为他每次会在静态方法中创建-分配新的内存单元给你用的class 然后静态方法结束后就回收掉了
就像啥都没发生过- -!
2012-09-19 15:59
ciinccb
Rank: 2
等 级:论坛游民
威 望:3
帖 子:10
专家分:36
注 册:2012-9-21
收藏
得分:0 
回复 2楼 紫色的自由
类是静态的?你想做什么啊?你想共享啊?
2012-09-21 17:11
ciinccb
Rank: 2
等 级:论坛游民
威 望:3
帖 子:10
专家分:36
注 册:2012-9-21
收藏
得分:0 
你可以这么讲!静态的方法只要属性和方法不模糊,是唯一的就可以引用到!非静态的都是随着对象的,而静态的是随着类的,所以如果说静态的方法去调用非静态的方法是一对多,调谁的都不知道!但是如果这个对象是在这个静态方法里面产生的,那么这个对象的属性和方法在这个静态的方法中是唯一的,就可以调用!一般面试的时候,问你这个,你得延伸一下!可以再说说static的方法当类被加载的时候和其他的,比如说静态块和块以及静态和非静态的方法和属性的空间的分配顺序!这也是一道面试题,并且难倒了很多人!
2012-09-21 17:16
快速回复:有关static修饰的静态方法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.034722 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved