Scala中apply方法以及函数返回有无unit的区别
来源:互联网 发布:mac桌面文件路径 编辑:程序博客网 时间:2024/06/06 08:42
scala中有个很独特的方法:apply,伴生类和伴生对象可以互相访问,没有权限限制
class ApplyTest{ //伴生类
def apply():Unit={
println(“I am into Scala so much!”)
}
def Try(n:Int):Int={ //返回值为int,最后一行的值为返回值
if(n<=0)
1
else
n*Try(n-1)
}
}
object ApplyTest{ //伴生对象
def apply()={ //这里不能用unit,函数有返回值的
println(“I am also in “)
new ApplyTest //伴生对象生产对象,而不是类
}
}
object helloScala{
def main(args: Array[String]): Unit ={ //unit表示main函数不需要返回值
val a = ApplyTest() //伴生对象生产一个类
val b = a.Try(5)
println(b)
a() //类中的apply函数
}
}
阅读全文
1 0
- Scala中apply方法以及函数返回有无unit的区别
- scala中 toString和apply的区别
- Scala 中apply方法的用法~(转)
- scala 中apply方法的理解
- Scala中方法和函数的区别
- scala 中方法和函数的区别
- Scala中方法和函数的区别
- scala的 apply方法
- Scala的apply方法
- java中有无参数和返回值的方法
- js中函数的定义有无顺序的区别
- JavaScript中函数有无括号()的区别
- scala的 apply方法和update方法
- Mathematica 函数右下标有无的区别
- [译]Scala方法和函数的区别
- scala方法和函数的区别
- scala之方法与函数的区别
- Scala方法和函数的区别
- 归并排序 C++
- Android Studio 如何生成jar包
- 保护模式下的应用
- SourceTree安装与使用方法
- MATLAB
- Scala中apply方法以及函数返回有无unit的区别
- android 偏好保存数据
- 使用rails自带方法去除html标签
- LeetCode 58 Length of Last Word
- 差分约束——vijos1589
- iOS系统库头文件中NS_AVAILABLE和NS_DEPRECATED_IOS相关
- 自定义View练习
- yii2用gii生成crud为什么views找不到生成文件
- centos 6.5 和centos 7关于防火墙的命令