Why does Scala not provide any static modifier?
Why does Scala not provide any static modifier?
翟志军 发表于3年前
Why does Scala not provide any static modifier?
  • 发表于 3年前
  • 阅读 104
  • 收藏 0
  • 点赞 0
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

摘要: 摘自《Scala in Action》的一段话,说明为什么Scala不支持static

Scala doesn't provide any static modifier, and that has to do with the design goal of building a pure object-oriented language where every value is an object, every operation is a method call, and every variable is a member of some object. Having static doesn't fit well with that goal, and along with that there are plenty of downsides to using static in the code. Instead, Scala supports something called singleton objects.

Scala没有提供任何的static修饰符,目的是为了创建一个纯的面向对象语言,任何值都是一个对象,任何操作都是对象的方法调用,任何变量都是某个对象的成员。

但static修饰符不符合这一目的,而且在代码中不使用static已是大势所趋。Scala使用单例object来代替static.

虽然,这样说了,我还不是很明白。我从《面向对象分析与设计》中看到“面向对象编程”的定义:

面向对象编程是一种实现方法,在这种方法中,程序被组织成许多相互协作的对象,每个对象代表某个类的一个实例,而类则属于一个通过继承关系形成的层次结构

这样说来,我倒觉得“任何操作都是对象的方法调用”这点不是面向对象编程的必要条件。所以,拿这点来说不支持static,似乎有些牵强。

标签: scala jvm
共有 人打赏支持
翟志军
粉丝 335
博文 75
码字总数 79851
作品 2
×
翟志军
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: