scala 第一天
来源:互联网 发布:16年广东省的经济数据 编辑:程序博客网 时间:2024/06/02 02:04
/** */// 匿名函数val addOne = (x:Int)=>x+1val getTheAnswer = ()=>3// 相当于new Function1[Int, Int] {// 第一个是入参,第二个是出参 def apply(x: Int): Int = x + 1}// 方法// 方法和函数不同,区别如下//方法以def开头,后面是名称,参数列表和返回类型//参数列表可以没有,也可以有多个//类// 关键字 class 类名 成员列表 (是写在紧接后的括号里)// 可以用 new实例化// 类包括 : 方法 值 变量 类型 对象 trait 成员// 成员包括:成员变量 成员方法// 默认的构造函数就是类的签名 ,所以成员变量也可以有默认的值// 成员默认是公共的{ class Point(var x: Int, var y : Int= 0) { def move(dx: Int, dy: Int): Unit = { x = x + dx y = y + dy } // 任何类都有toString函数,所以需要重写的时候要写成override // 默认会写$line18.$read$$iw$$iw$Point@ef09e1 override def toString: String = s"($x, $y)"// TODO s 是什么 } val point1 = new Point(2, 3) point1.x // 2 println(point1)}// 私有的成员变量{ class Point2 { private var _x = 0 private var _y = 0 private val bound = 100 def xx = _x // getter 函数 // setter函数 名字要和getter函数对应 def xx_=(newValue: Int): Unit = { if (newValue < bound) _x = newValue else printWarning } def yy = _y def yy_=(newValue: Int): Unit = { if (newValue < bound) _y = newValue else printWarning } private def printWarning = println("WARNING: Out of bounds") } val point21 = new Point2 point21.xx = 99 point21.yy = 101 // prints the warning}{ class Point(val x: Int, val y: Int)// 常亮 不可变 val point = new Point(1, 2) point.x = 3 // <-- does not compile}{ class Point(x: Int, y: Int) // 默认私有 不可接触 val point = new Point(1, 2) point.x // <-- does not compile}//TODO 如何和Point2结合
0 0
- scala 第一天作业
- scala学习第一天
- scala 第一天
- scala 光速入门 第一天
- scala第一天:hello world
- Scala的学习笔记_第一天
- 学习Scala第一天 scala开发环境搭建和helloword解析
- Scala学习第一天 scala开发环境搭建和helloword解析
- Scala学习第一天 scala开发环境搭建和helloword解析
- 第一天
- 第一天
- 第一天~
- 第一天
- 第一天
- 第一天
- 第一天
- 第一天
- #第一天
- ng-route与ui-router
- CCPC2016解题报告
- 泰斯特
- 学习springmvc的第三天(2:构造方法注入)
- 《Cracking the Coding Interview程序员面试金典》----单词最近距离
- scala 第一天
- 《逆向工程核心原理》<04-32> 通过DLL注入实现IAT钩取的技术
- Curl命令介绍
- Uva 11732 "strcmp()" Anyone? 左儿子右兄弟的trie
- final关键字的使用
- nload查看网络使用情况
- Arm架构之系统调用
- 完美解决因scrollview和recycleview引起的滑动冲突
- 散列表分析(Java实现)