设为首页收藏本站

小牛社区-大数据学习交流社区|大数据免费学习资源

 找回密码
 立即注册!

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 515|回复: 0

Scala中的构造器

[复制链接]

3203

主题

3546

帖子

1万

积分

管理员

Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

积分
14427
发表于 2016-6-12 12:55:05 | 显示全部楼层 |阅读模式
Scala中的构造器

Scala中的构造器分为两类,主构造器和辅助构造器
主构造器是通过类名后面跟的括号里加参数列表来定义
辅助构造器是通过关键字this定义

定义一个无参主构造器
  1. class rectangle(){val width = 0val height = 0}
复制代码

定义一个带参主构造器
  1. class rectangle(w:Int){val width = wval height = 0}
复制代码
主构造器的函数体是在类里面的,可以说一个类里面除了方法和成员字段外都是主构造器的函数体,在类初始化的过程中会执行类体里面的语句。
可以在无参主构造器内这样定义和执行初始化方法
  1. class rectangle(){var width = 0var height = 0Init()def Init(){width = 1height = 1}}
复制代码
用this来定义辅助构造器,在辅助构造器里必须调用主构造器,所以说类的构造过程是必须经过主构造器。
辅助构造器一
  1. class rectangle(){var width = 0var height = 0def this(w:Int){this()width = w}}
复制代码

辅助构造器二
  1. class rectangle(){var width = 0var height = 0def this(w:Int){this()width = w}def this(w:Int, h:Int){this(w)height = h}}
复制代码

  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册!

本版积分规则

快速回复 返回顶部 返回列表