scala不使用new关键字创建对象实例
来源:互联网 发布:手机淘宝哪儿有一元抢 编辑:程序博客网 时间:2024/06/07 20:15
在scala中,scala不使用new关键字创建对象实例,一般有2中方法:
1. 为类创建伴生对象,并在伴生对象内按照所需的构造函数签名定义一个apply方法;
2.将类定义为case类。
1)用apply方法创建一个伴生对象:
class ApplyOperation {}class ApplyTest{ def apply() = println("I am into spark so much!!!") def haveATry: Unit ={ 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) val a = ApplyTest() //这里就是使用object 的使用 a.haveATry a() // 这里就是 class 中 apply使用 }}
运行结果
I am into Scala so much
have a try on apply
I am into spark so much!!!
object apply 是一种比较普遍用法。 主要用来解决复杂对象的初始化问题。同时也是单例
2)将类声明为case类case class Person(var :String)
case的作用在于它在伴生对象生成了一个apply对象,更重要的是,case类生成的代码远不止apply方法。apply实际上是一个工厂方法。
阅读全文
0 0
- scala不使用new关键字创建对象实例
- scala不使用new关键字创建对象实例
- C++使用new和不使用new关键字实例化对象的区别
- new关键字创建的对象的实例化过程
- 用构造方法构建对象时使用new关键字和不使用new关键字的差别
- 使用new关键字创建对象的三个作用
- JS 对象和数组的创建使用new和不使用new有什么区别呢?
- java使用new关键字创建对象时内部为做一些什么事!!!!!
- C++之创建对象时的new与不new
- C++之创建对象时的new与不new
- C++创建对象,new与不new的区别
- 创建类的时候使用new和不使用new
- Java对象创建之new关键字和newinstance()方法
- Java中关于关键字new创建字符串对象的总结
- Class.forName(XX).newInstance()创建对象和new关键字创建对象区别
- Class.forName与new创建对象实例的区别
- 用关键字new创建对象 new都做了什么(随笔)
- C++ 对象和实例的区别,以及用new和不用new创建类对象区别
- 基于贪心算法的几类区间覆盖问题:(侵删)
- 【shell】grep命令及常见用法
- Intellij Idea2017模块管理
- 阿里云申请的免费证书,配置到Tomcat,实现https访问
- 每日一刷——删除无头链表非尾结点&倒序打印链表
- scala不使用new关键字创建对象实例
- 大学计算机基础--2
- 状态模式
- 538. Convert BST to Greater Tree
- 源码图:HashMap+Hashtable区别
- vituralbox+CentOS7配置静态IP
- 深层神经网络——激活函数去线性化
- gcc简介及编译过程
- win7 环境下 运用maven在Idea上 搭建spark