Scala中apply方法以及函数返回有无unit的区别
2017-05-26 10:46
549 查看
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函数
}
}
相关文章推荐
- JavaScript的函数call和apply的区别、以及bind方法
- 字节码问题--wchar和char的区别以及wchar和char之间的相互转换字符编码转换等方法及函数介绍
- OC中方法与函数的区别以及类的合理设计
- golang 函数以及函数和方法的区别
- Python: 函数与方法的区别 以及 Bound Method 和 Unbound Method
- 每天学一点Scala之 方法与函数的区别
- golang 函数以及函数和方法的区别
- [转]字节码问题--wchar和char的区别以及wchar和char之间的相互转换字符编码转换等方法及函数介绍
- Python: 函数与方法的区别 以及 Bound Method 和 Unbound Method
- js基础进阶之apply和call方法的使用以及区别
- 每天学一点Scala之 方法与函数的区别
- OC中类的函数参数问题,以及方法与函数的区别。
- Scala中方法和函数的区别
- [译]Scala方法和函数的区别
- Python: 函数与方法的区别 以及 Bound Method 和 Unbound Method
- 函数function的方法call()以及apply()
- jquery中ajax如何返回值到上层函数的方法以及对于js处理json对象方法的记录
- scala方法和函数的区别
- Scala中方法和函数的区别
- Scala方法定义,方法和函数的区别,将方法转换成函数