PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_Sharp
[问题] Static 使用观念询问
楼主:
redonizuka
(R大)
2014-01-18 21:41:25
class TotalArea
{
private static double total ;
public TotalArea(Area c)
{
total += c.area();
Console.WriteLine("本卡片面积为{0},目前累计面积为{1}", c.area(),
total);
}
}
上面是我练习时所作的类别
我从我的Main去呼叫这类别取算出我的面积
这面积是累加的
所以我定义一个Total
但我想询问关于定义的这一行
private static double total ;
当我把Static 移除时改为 private double total ;
为什么我的面积就没累加了?
我从书上自学的观念是 Static 是属于类别的
可以直接使用类别.名称不用在建立新物件
在类别内使用Static就如同宣告全域变量
故当我把Static移除时 他就变成区域便数
使得每跑一次类别就重新宣告一次
想问我这方面的观念是否正确
感谢
作者:
andymai
(人生只有一次)
2014-01-18 22:31:00
把static移除后~要用时不是就会变成 new TotalArea 这样吗?既然都是新的物件了~又怎会有之前的资料~"重新宣告"这个说法~应该不太对...
作者:
KanoLoa
(卡)
2014-01-19 00:02:00
本来公共使用的黑板,变成每人一块的小黑板
楼主:
redonizuka
(R大)
2014-01-19 00:33:00
抱歉 能再稍微说细一点吗? 自我看书学 有些想更了解
作者:
GoalBased
(Artificail Intelligence)
2014-01-19 07:50:00
" target="_blank" rel="nofollow">
观念上是没有错
作者:
steve1012
(steve)
2014-01-19 11:34:00
static 就是静态的 只初始化一次 所以你每跑一次类别他就不会重新宣告一次就像r大讲的static 就是一个大黑板 每个成员都可以用她
作者: FNRLV (斩碎梦一般的未来)
2014-01-19 12:34:00
以C的角度的话 static 是静态 意思是这个"名字"的变量宣告完之后就被固定在RAM中 只能被宣告一次外部要使用就必须使用extern让compliar知道要去哪个位址存取至于改成double之后 就是跟着你的class走 属于你的class成员就好像...水母很多人都有 但是姓马的台湾水母只有一只(大误
作者:
andymai
(人生只有一次)
2014-01-19 14:48:00
之所以说"重新宣告"不太对~是因为TotalArea t;这样是宣告t是TotalArea类别~而new TotalArea是在配置TotalArea物件内存了~与其说是"重新宣告"~倒不如说是"重新配置物件"
作者:
GoalBased
(Artificail Intelligence)
2014-01-19 14:50:00
重新宣告这个词有点怪 因为每次你进入那个fun都是一个新的东西所以也就没有"重新"的感觉
继续阅读
[问题] Icon Overlay Handler
iamhebe
[网页] 国外网友用车牌辨识攻击主机
funnyface325
[问题] Webform 中 Request.Form 的作法
On1earth
[心得] 触控萤幕的小技巧
wa007123456
[问题] VisualStudio快捷键一问
don750421
Re: [问题] WP8的开发(解锁问题)
AmosYang
[问题] WP8的开发(解锁问题)
wa007123456
[问题] 不同型态物件存在同个List
dreak
[问题] strcpy
GoalBased
[问题] VS 2012 Express 显示找不到 framework
PageRank
Links
booklink
Contact Us: admin [ a t ] ucptt.com