【发布时间】:2015-02-16 11:01:12
【问题描述】:
所有成员都必须显式指定为静态,静态类不会自动将其成员设为静态。静态类可以包含一组静态方法。
定义解释了一切,即我们需要为静态类中的方法、成员等显式地赋予静态。
我真正没有得到的是,如果有一个规则,比如我们只能在静态类中声明静态成员
为什么OOPL 的开发者不把它变成not mandate 。所以编译器应该理解(内部),即即使我们在静态类中声明一个非静态方法,它也应该将该方法理解为static(即静态类只能有静态方法)。
我在处理接口时遇到了这个疑问,即使在接口的情况下,所有接口成员都是public,所以我们不声明公共explicitly,编译器会在内部理解。
我正在寻找一个大的WHY,而不是找借口(应该是这样,它的内置功能)。
【问题讨论】:
-
应该在某处重复这个......这是一个设计决定,所以我们无法回答为什么,因为我们不是该语言的设计者。
-
我喜欢 dav_i 的回答。关于成员隐式公开的观点,这是正确的,但 public 是默认值,而 static 绝不是默认值。
-
selman22这就是事实,我正在寻找他们这样做的原因。dav_i看起来很有趣。downvote伤心,我不明白为什么。请发表评论,以便我纠正自己(如果有可能)。我正在寻找我不知道的东西。干杯