class & object
概述:apply方法用于在Scala创建对象时,免new的操作,使代码更加简洁优雅
具体操作测试方法:
class 和 object 可以类名相同。
class 类名 是 object 类名 的伴生类
object 类名 是 class 类名 的伴生对象
class 和 object 互为伴生
在类中会有如下定义(包含apply方法,且不能随意更改**apply()**方法名称):
class 类名1{ def apply() = {…"class apply方法…} } object 类名{ def apply() = {…“object apply方法”, new 类名() …} }
调用:
对象名() => 调用class 类中的 apply 方法 类名() => 调用object类中的 apply 方法
具体实例测试如下面代码所示:
// class ApplyApp 和 object ApplyAppd的类
名相同
// class ApplyApp 是 object ApplyApp的伴生类
class ApplyApp {
def otherMethod() = {
println("class ApplyApp method")
}
def apply() = {
"我是 class ApplyApp 类中apply方法"
}
}
// object ApplyApp 是 class ApplyApp的伴生对象
object ApplyApp{
def otherMethod() = {
println("object ApplyApp method")
}
def apply() = {
// ApplyApp() ==> 实际调用的就是 object Apply 中的apply() 方法
println("我是 object ApplyApp 类中apply()方法")
new ApplyApp()
}
}
object ApplyAppTest{
def main(args: Array[String]): Unit
好文推荐
发表评论