| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2116 人关注过本帖
标题:谁帮我解释答案为什么是11,谢谢
只看楼主 加入收藏
yxishe
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2008-11-30
收藏
 问题点数:0 回复次数:14 
谁帮我解释答案为什么是11,谢谢
class ClassDemo {
   public static int sum=1;
   public ClassDemo()
   {sum=sum+5;}
 }
 class ClassDemoTest{
   public static void main(String args[]) {
   ClassDemo demo1=new ClassDemo();
   ClassDemo demo2=new ClassDemo();
   System.out.println(demo1.sum);
}
}
谁帮我解释答案为什么是11,谢谢
搜索更多相关主题的帖子: 解释 
2008-12-07 17:51
小応
Rank: 3Rank: 3
来 自:安徽大学
等 级:新手上路
威 望:8
帖 子:103
专家分:0
注 册:2008-10-16
收藏
得分:0 
..........
在ClassDemo 类中对于静态变量 sum ,只在第一次初始化的时候保存一个副本。所有的ClassDemo 类只有一个sum 副本。所以是11
2008-12-07 18:45
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
静态成员属于类本身。
所以1+5+5=11

倚天照海花无数,流水高山心自知。
2008-12-07 19:13
yxishe
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2008-11-30
收藏
得分:0 
我菜鸟,看不懂.能不能解释的清楚点,谢谢
2008-12-07 19:13
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
sum任意对象实例对它的改变都适用于其他对象实例。
它的初值是1,经过两次实例化调用构造函数即两次加5

倚天照海花无数,流水高山心自知。
2008-12-07 19:18
Ethip
Rank: 5Rank: 5
等 级:贵宾
威 望:15
帖 子:771
专家分:0
注 册:2008-1-18
收藏
得分:0 
static属性是类属性,被类的多个实例共用。
2008-12-08 09:05
athenalux
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河北石家庄
等 级:小飞侠
威 望:8
帖 子:975
专家分:2514
注 册:2008-11-26
收藏
得分:0 
是的,static成员在内存中对于一个类来说,只存在一个,如果创建了多个基于该类的对像,并不产生多个static成员。

QQ:81704464
2008-12-08 13:25
mc20421219
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-12-8
收藏
得分:0 
如果在加这一句System.out.println(demo2.sum);
答案是1111吧!
2008-12-08 19:17
SD7436
Rank: 2
等 级:论坛游民
帖 子:48
专家分:25
注 册:2008-8-12
收藏
得分:0 
方法ClassDemo()与类ClassDemo名字相同,所以方法ClassDemo()是一个构造方法(方法名与类名相同的方法)
当在main()方法中出现ClassDemo demo1=new ClassDemo();创建并实例化对象demo1的同时,由于在类ClassDemo中存在构造方法ClassDemo()的原因,先运行构造方法(构造方法在创建对象的同时自动调用),即sum=sum+5;则sum的值为6,同理,在出现ClassDemo demo2=new ClassDemo();后,sum=sum+5;则sum的值为11
2008-12-08 20:41
flyingcloude
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:6
帖 子:598
专家分:1512
注 册:2008-1-13
收藏
得分:0 
static 类似与全局变量

你能学会你想学会的任何东西,这不是你能不能学会的问题,而是你想不想学的问题
2008-12-08 22:52
快速回复:谁帮我解释答案为什么是11,谢谢
数据加载中...
 
   



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

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