没有合适的资源?快使用搜索试试~ 我知道了~
dzlzh#shiyanlou-courses#10.类层次关系和底层类型1
需积分: 0 0 下载量 75 浏览量
2022-07-25
14:31:52
上传
评论
收藏 6KB MD 举报
温馨提示
一、实验简介 二、Scala的类层次关系 三、所有类的公共子类——底层类型 四、实验总结
资源推荐
资源详情
资源评论
#类层次关系和底层类型
## 一、实验简介
前面我们介绍了Scala的类的继承,本节我们将介绍Scala语言自身定义的类的层次关系和底层类型。
### 1.1 知识点
- Scala的类层次关系
- 底层类型
### 1.2 准备工作
为了使用交互式Scala解释器,你可以在打开的终端中输入命令:
```
cd /usr/local/scala-2.11.7/bin/
scala
```
当出现`scala> `开始的命令行提示符时,就说明你已经成功进入解释器了。如下图所示。
![此处输入图片的描述](https://dn-anything-about-doc.qbox.me/document-uid162034labid1679timestamp1454472982090.png/wm)
## 二、Scala的类层次关系
在Scala中,所有的类都有一个公共的基类称为`Any`,此外还定义了所有类的子类Nothing,下面的图给出的Scala定义的类层次关系的一个概要:
![此处输入图片的描述](https://dn-anything-about-doc.qbox.me/document-uid162034labid1679timestamp1454411336774.png/wm)
由于所有的类都继承自`Any`,因此Scala中的对象都可以使用`==`、`!=`或`equals`来比较,使用`##`或`hashCode`给出`hash`值,使用 `toString` 转为字符串。`Any`的`==`和`!=`定位为`fianl`,因此不可以被子类重载。`==`实际上和`equals`等价,`!=`和`equals`的否定形式等价,因此重载`equals`可以修改`==`和`!=`的定义。
根类`Any`有两个子类:`AnyVal`和`AnyRef`。`AnyVal`是`Scala`里每个内建值类型的父类。有九个这样的值类型:`Byte`,`Short`,`Char`,`Int`,`Long`,`Float`,`Double`,`Boolean`和`Unit`。其中的前八个对应到Java的基本数值类型,它们的值在运行时表示成Java的类型。
Scala里,这些类的实例都写成字面量。例如,`42`是`Int`的实例,“`x`”是`Char`的实例,`false`
点击阅读更多
资源评论
林祈墨
- 粉丝: 36
- 资源: 324
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功