文档章节

Why does Scala not provide any static modifier?

翟志军
 翟志军
发布于 2015/02/23 21:25
字数 358
阅读 127
收藏 0
点赞 0
评论 0

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,似乎有些牵强。

© 著作权归作者所有

共有 人打赏支持
翟志军

翟志军

粉丝 338
博文 75
码字总数 79851
作品 2
深圳
程序员
Scala访问修饰符

Scala访问修饰符 基本和Java的访问修饰符一样。在scala 中也有访问修饰符,如下 Members of packages, classes, or objects can be labeled with the access modifiers private and protec...

秋风醉了 ⋅ 2015/08/08 ⋅ 0

RxJava 1.0.14 发布,现已提供下载

.Net响应式编程框架Rx的Java版本开源实现,是一种JVM语言,有Groovy, Clojure, Scala and JRuby版本的实现 此版本更新内容如下: Pull 2963 Set of standard producers and updated queue im...

oschina ⋅ 2015/08/17 ⋅ 1

编程技巧:使用整数同时进行多个true|false判断(修改版)

Scene 情景假设 情景一:银行账户的快速判断; 假设需要判断某银行用户的其中一个账号(profileA),币种(Currency)为人民币(CNY),余额是否大于1,0000,然后进行某业务逻辑处理。 情景二...

大鱼BIG_FISH ⋅ 2015/11/06 ⋅ 0

深入理解Java Proxy机制

动态代理其实就是java.lang.reflect.Proxy类动态的根据您指定的所有接口生成一个class byte,该class会继承Proxy类,并实现所有你指定的接口(您在参数中传入的接口数组);然后再利用您指定...

milne ⋅ 2015/08/14 ⋅ 0

[Lucene.Net] 多线程操作建议和[Lucene.Net] 分页显示

对于并发,Lucene.Net 遵循以下规则: 1. 允许任意多的读操作并发,即任意数量用户可同时对同一索引做检索操作。 2. 即便正在进行索引修改操作(索引优化、添加文档、删除文档),依然允许任意...

长平狐 ⋅ 2013/06/17 ⋅ 0

When Monolithic Is the Way: Play vs. Spring Boot vs. Grails

Nowadays, when we are going to start a new project, the developer starts thinking about the technology, and usually they come up with something like: microservices, RESTFul, Act......

Marini Fabio ⋅ 2017/12/20 ⋅ 0

Google的JSON类库 Gson开发者指南

由于 site.google.com 被墙,本人特意翻墙出去扒了分 User Guide 回来,不过是英文的。 Gson User Guide Contents 1 Authors: Inderjeet Singh, Joel Leitch 1.1 Overview 1.2 Goals for Gs......

红薯 ⋅ 2009/12/31 ⋅ 13

eclipse中outline中图标含义

颜色: 绿色:public 黄色:protected 蓝色:no modifier 红色:private 形状: 实心:method 空心:variable 实心中间有字母C:class Class右侧有向右的箭头:运行入口 字母: S:static F:...

的书法上的 ⋅ 2014/06/23 ⋅ 0

Java类的修饰符判断:java.lang.reflect.Modifier

在查看Java.lang.reflect 包的源码的时候,发现了Modifier。 先将一些类方法列举出来。 如果整数参数包括 abstract 修饰符,则返回 true,否则返回 false。 如果整数参数包括 final 修饰符,...

何金池 ⋅ 2014/02/17 ⋅ 0

Bootstrap 3 RC2 发布

Bootstrap 3 RC2 发布了,与 RC1 比较主要改变有: 文档方面 The Customizer is back! Still needs some work, but functionality has been rewritten and will be improved as we head to f......

oschina ⋅ 2013/08/14 ⋅ 26

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Spring | IOC AOP 注解 简单使用

写在前面的话 很久没更新笔记了,有人会抱怨:小冯啊,你是不是在偷懒啊,没有学习了。老哥,真的冤枉:我觉得我自己很菜,还在努力学习呢,正在学习Vue.js做管理系统呢。即便这样,我还是不...

Wenyi_Feng ⋅ 今天 ⋅ 0

博客迁移到 https://www.jianshu.com/u/aa501451a235

博客迁移到 https://www.jianshu.com/u/aa501451a235 本博客不再更新

为为02 ⋅ 今天 ⋅ 0

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 今天 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 今天 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 今天 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

Dockerfile基础命令总结

FROM 指定使用的基础base image FROM scratch # 制作base image ,不使用任何基础imageFROM centos # 使用base imageFROM ubuntu:14.04 尽量使用官方的base image,为了安全 LABEL 描述作...

ExtreU ⋅ 昨天 ⋅ 0

存储,对比私有云和公有云的不同

导读 说起公共存储,很难不与后网络公司时代的选择性外包联系起来,但尽管如此,它还是具备着简单和固有的可用性。公共存储的名字听起来也缺乏专有性,很像是把东西直接堆放在那里而不会得到...

问题终结者 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部