您的位置:首页 > 移动开发 > Objective-C

Scala的Class、Object和Apply()方法

2017-05-24 15:08 337 查看
Scala中如果一个Class和一个Object同名,则称Class是Object的伴生类。Scala没有Java的Static修饰符,Object下的成员和方法都是静态的,类似于Java里面加了Static修饰符的成员和方法。Class和Object都可以定义自己的Apply()方法,类名()调用Object下的Apply()方法,变量名()调用Class下的Apply()方法。

class ApplyTest{
def apply()  {
println("This is a class, apply()...")
}
}

object ApplyTest{
def apply() = {
println("This is an object, apply()...")
new ApplyTest()
}
}

object ApplyExample {
def main(args: Array[String]) {
var at=ApplyTest()
at()
}
}


运行结果:



分析:

var at=ApplyTest()


这是类名(),调用的是Object下的Apply()方法,由于此时并没有创建类的对象,所以也只能调用Object下的静态方法。

new ApplyTest()


创建了一个类的对象,并且返回给了变量at。

at()


这是变量名(),显然调用的是Class的Apply()方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: