scala - Scala 中的基类是什么,就像 Java 中的 Object 一样?
问题描述
在 Java 中,Object 是基类,它被所有其他类扩展。Scala 中的等价基类是什么?
解决方案
没那么快!;)
这个问题似乎有点不合时宜,因为原始类型不是从Object
Java 中扩展而来的。因此,Java 根本不像 Scala。所有引用类型的基类(对应Object
于 Java 中的子类)实际上是AnyRef
,而不是Any
.
事实上,关于统一类型的 Scala Tour 页面指出:
AnyRef 表示引用类型。所有非值类型都定义为引用类型。Scala 中的每个用户定义类型都是 AnyRef 的子类型。如果在 Java 运行时环境的上下文中使用 Scala,AnyRef 对应于 java.lang.Object。
所有类型的基类 ( Any
) 和所有引用类型的基类 ( AnyRef
) 是两个独立的概念。
推荐阅读
- codenameone - 如何使用窗体为玻璃窗格设置动画?
- php - 从位桶管道运行测试用例时出错(在本地主机直接测试用例上工作)
- javascript - Puppeteer 发送 POST 和 302 重定向
- javascript - 从 Chrome 扩展程序连接到 SQL Server
- javascript - Highcharts - 在共享工具提示中格式化重叠散点
- qt - 可聚焦的 Qml 组件(将我的控件集中在选项卡上)
- angular-cli - Angular Ng 分析的 Circleci 环境变量不起作用
- mysql - 使用 dotnet String.Format 将数据保存到数据库,失败
- android - 无法解析 ':app@debug/compileClasspath' 的依赖关系:无法解析 com.github.AnchorFreePartner.hydra-sdk-android:sdk:2.3.0'
- http - 通过 indy “发布”失败,而“获取”正在工作,使用 xe2、https 和 windows 身份验证