欢迎来到代码驿站!

当前位置:首页 >

浅谈Scala的Class、Object和Apply()方法

时间:2021-04-01 08:18:42|栏目:|点击:

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

上一篇:浅谈XML Schema中的elementFormDefault属性

栏    目:

下一篇:Powershell小技巧之通过EventLog查看近期电脑开机和关机时间

本文标题:浅谈Scala的Class、Object和Apply()方法

本文地址:http://www.codeinn.net/misctech/92405.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有