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

好文推荐

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。