设为首页 加入收藏

TOP

Scala的Class、Object和Apply()方法
2017-10-09 14:10:02 】 浏览:6887
Tags:Scala Class Object Apply 方法

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()方法。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Scala中==,eq与equals的区别 下一篇Akka(5): ConsistentHashing R..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目