美文网首页
Scala的apply

Scala的apply

作者: 田真的架构人生 | 来源:发表于2017-08-01 21:34 被阅读0次
class ApplyTest{
  def apply() = println("I am into Spark so much!!!")
   
  def haveATry{
    println("Have a try on apply!")
  }
}
object ApplyTest{
  def apply() = {
    println("I am into Scala so much!!!")
    new ApplyTest
  }
}
object ApplyOperation {
  def main(args: Array[String]) {
    val array = Array(1,2,3,4,5)
    val a = ApplyTest() //这里并没有new,然后确实返回了类的实例
    a.haveATry 
  }
}

结果:
I am into Scala so much!!!
Have a try on apply!

在一个类的伴生对象里面,实现apply方法,在这里面可以创建类的实例。譬如val a = Array(1, 2, 3)就是使用了Array的apply方法。

同样,在class里面也可以使用apply方法:

object ApplyOperation {
  def main(args: Array[String]) {
     val a = new ApplyTest
     a.haveATry
     println(a())  //调用class的apply方法
  }
}

结果:
Have a try on apply!
I am into Spark so much!!!
()

相关文章

  • Scala的apply

    结果:I am into Scala so much!!!Have a try on apply! 在一个类的伴生...

  • Scala 从Array数组的构造过程理解apply()

    apply()方法 在伴生对象中使用 在scala中apply可以存在在class中和object中,但是最常用的...

  • scala apply详解

    [TOC]关于scala中的特殊方法apply,先给一个比较通俗的解释。 当对象(伴生对象)以函数的方式进行调用时...

  • scala(十六) Set

    Set 特性 不重复、无序 不可变set 创建Set& apply方式创建 查看setApi 进入 scala s...

  • Scala编程基础28:Scala提取器

    Scala提取器就是一个带有unapply方法的对象。unapply方法时apply方法的反向操作:unapply...

  • Scala 学习笔记

    一、Scala 基础 变量 定义方法和函数 定义方法: 定义函数: 3. apply 方法 通常我们会在类的伴生对...

  • 05.scala集合

    数组 不可变数组: Array.scala源码里类名+括号.这里就是调用了object的apply方法 数组转字符...

  • scala:构造方法与apply

    scala中分主构造方法、辅助构造方法,辅助构造方法必须调用主构造方法 构造方法参数作用域 如果父类有主构造方法,...

  • Scala中的toString与apply的区别

    1 介绍toString 首先,scala中的toString和java中的toSting 一样的,scala基于...

  • Scala解密:Apply方法与构造函数

    1. apply 方法 当我们想使用如下形式的表达式时,我们通常会定义和使用对象的apply方法 Object(参...

网友评论

      本文标题:Scala的apply

      本文链接:https://www.haomeiwen.com/subject/ttyslxtx.html