23.scala编程思想笔记——类参数
来源:互联网 发布:unity3d max文件 编辑:程序博客网 时间:2024/05/15 06:14
23.scala编程思想笔记——类参数
欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/50445759
源码下载连接请见第一篇笔记。
在创建新对象时,一般是通过传递某些信息进行初始化,此时可以使用类参数。类参数列表看起来与方法参数列表一样,但是位于类名的后面:
例如:
import com.atomicscala.AtomicTest._
class ClassArg(a:Int) {
println(f)
def f():Int ={ a * 10 }
}
val ca = new ClassArg(19)
ca.f() is 190
其中变量a 在外部是不可见的。
看一个比较奇怪的例子如下:
import com.atomicscala.AtomicTest._
class ClassArg2(var a:Int)
class ClassArg3(val a:Int)
val ca2 = new ClassArg2(20)
val ca3 = new ClassArg3(21)
ca2.a is 20
ca3.a is 21
ca2.a = 24
ca2.a is 24
这些类定义没有显示的类体,它们的类体是隐式的,也能直接实例化的。
此外类可以有许多参数,如下:
import com.atomicscala.AtomicTest._
class Sum3(a1:Int, a2:Int, a3:Int) {
defresult():Int = { a1 + a2 + a3 }
}
new Sum3(13, 27, 44).result() is 84
可以使用可变元参数列表来支持任意数量的参数,如下:
import com.atomicscala.AtomicTest._
class Sum(args:Int*) {
defresult():Int = {
var total =0
for(n <-args) {
total +=n
}
total
}
}
new Sum(13, 27, 44).result() is 84
new Sum(1, 3, 5, 7, 9, 11).result() is 36
其中args末尾的* 将参数转换为一个序列,该序列可以在 for 表达式中使用使用<- 来遍历。
- 23.scala编程思想笔记——类参数
- 30.scala编程思想笔记——参数化类型
- 56.scala编程思想笔记——类型参数限制
- 24.scala编程思想笔记——具名参数和缺省参数
- 12.scala编程思想笔记——类和对象
- 14.scala编程思想笔记——创建类
- 15.scala编程思想笔记——类中的方法
- 28.scala编程思想笔记——case类
- 43.scala编程思想笔记——基类初始化
- 46.scala编程思想笔记——抽象类
- 74.scala编程思想笔记——使用类型类
- 2.scala编程思想笔记——运行Scala
- 3.scala编程思想笔记——编写脚本
- 4.scala编程思想笔记——值
- 5.scala编程思想笔记——数据类型
- 6.scala编程思想笔记——变量
- 7.scala编程思想笔记——表达式
- 8.scala编程思想笔记——条件表达式
- hihoCoder1067 最近公共祖先离线查询 dfs + 并查集
- es增量自定义更新的脚本
- 21.scala编程思想笔记——条件表达式
- 22.scala编程思想笔记——模式匹配
- NetScheduleJobAdd函数添加任务计划的方法
- 23.scala编程思想笔记——类参数
- Android Volley完全解析(二)
- 24.scala编程思想笔记——具名参数和缺省参数
- 25.scala编程思想笔记——重载
- instancetype类型和id类型的异同
- table1函数----一维查表
- 26.scala编程思想笔记——构造器
- 27.scala编程思想笔记——辅助构造器
- 2016新的开始,新的目标