浅谈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的Class、Object和Apply()方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
上一篇:深入理解Scala函数式编程过程
栏 目:Scala
本文标题:浅谈Scala的Class、Object和Apply()方法
本文地址:https://www.xiuzhanwang.com/a1/Scala/12004.html
您可能感兴趣的文章
- 01-11php下关于Cannot use a scalar value as an array的解决办法
- 01-11PHP警告Cannot use a scalar value as an array的解决方法
- 01-11Windows7下安装Scala 2.9.2教程
- 01-11深入理解Scala函数式编程过程
- 01-11Scala基础简介及代码示例
- 01-11Scala安装及环境图文配置教程
- 01-11利用Gradle如何构建scala多模块工程的步骤详解
- 01-11linux下搭建scala环境并写个简单的scala程序
- 01-11Scala的文件读写操作与正则表达式
- 01-11详解如何使用Spark和Scala分析Apache访问日志
阅读排行
本栏相关
- 01-11php下关于Cannot use a scalar value as an ar
- 01-11PHP警告Cannot use a scalar value as an array的
- 01-11Windows7下安装Scala 2.9.2教程
- 01-11浅谈Scala的Class、Object和Apply()方法
- 01-11深入理解Scala函数式编程过程
- 01-11Scala基础简介及代码示例
- 01-11Scala安装及环境图文配置教程
- 01-11linux下搭建scala环境并写个简单的sca
- 01-11利用Gradle如何构建scala多模块工程的步
- 01-11Scala的文件读写操作与正则表达式
随机阅读
- 01-11ajax实现页面的局部加载
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-10C#中split用法实例总结
- 01-10delphi制作wav文件的方法
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-10SublimeText编译C开发环境设置
- 04-02jquery与jsp,用jquery