文档章节

类和对象之Application特质

柳哥
 柳哥
发布于 2014/06/05 21:55
字数 369
阅读 97
收藏 0

Scala提供了特质scala.Application,可以减少一些输入工作。尽管现在所学的知识还不足以弄懂它的工作原理,不过我们认为了解一下还是有必要的。如例:

package scalaTest
object Test5 extends Application {
    println("eeeee")
}

使用方法是,首先在单例对象名后写上“extends Application”。然后代之以main方法,你可以把想要执行的代码直接放在单例对象的花括号之间。如此而已,之后可以正常的编译和运行。
能这么做,是因为特质Application声明了带有合适签名的main方法,并被你写的单例对象继承,使它可以像scala程序那样。花括号之间的代码被收集进了单例对象的主构造器,并在类被初始化时执行
继承自Application比编写完整的main方法要方便,不过它也有些缺点。首先,如果想访问命令行参数的话就不能用它,因为args数组不可访问(因为代码在主构造器中执行的??)。
第二,因为某些JVM线程模型里的局限,如对于多线程的程序需要自行编写main方法。最后,某些JVM的实现没有优化被Application特质执行的对象的初始化代码。因此只有当程序相对简单并且是单线程的情况下才可以继承Application特质

© 著作权归作者所有

共有 人打赏支持
柳哥
粉丝 206
博文 405
码字总数 347782
作品 0
杭州
技术主管
私信 提问
Scala学习笔记(5)-类和方法

Scala里的类和方法的概念都是差不多的,这里只列出Scala重要的一些概念: 1.Public是Scala的缺省访问级别,可以省略不写。 2.Scala里方法参数的一个重要特征是它们都是val,不是var(参数是v...

山海经
2013/08/26
0
0
深入理解Scala-使用面向对象编程

Scala所有的值都是对象,连函数都可以是对象。Scala通过Trait提供了混入机制。对象是Scala的核心,所以我们有必要了解Scala背后的一些详细信息。 对象、类、特质(Trait)用来定义Scala的API...

开源中国驻成都办事处
2014/04/16
0
0
Scala下Play框架学习笔记(Body parsers)

什么是Body Parsers 一个HTTP请求是一个头部后面紧随着一个body,头部很小,可以在内存中缓存,因此Play的模型中使用了这个类。Body有时候也可能很长,以致于不能缓存,反而作为一种流而被建...

金明略
2016/12/29
0
0
Scala学习笔记(12)-特质、包和引用

1.特质:trait是Scala里代码复用的基础单元。特质封装了方法和字段的定义,并可以通过混入到类中重用它们。不像类的继承那样,每个类都只能继承唯一的超类,类可以混入任意个特质。一旦特质被...

山海经
2013/08/31
0
0
浅析Scala单例对象与伴生类

Scala的单例对象 Scala不能定义静态成员,而是代之定义单例对象(singleton object)。以object关键字定义。 对象定义了某个类的单个实例,包含了你想要的特性: 当你在应用程序中需要一个新的...

qq_39521554
05/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Andrew Ng教你如何引领公司进入AI时代

摘要: 人工智能时代,企业转型遇到困难?看看Andrew Ng的建议吧! AI(人工智能)技术就像100年前的电力一样,正准备改变每个行业。从现在到2030年,它将创造约13万亿美元的GDP增长。虽然它...

阿里云官方博客
11分钟前
0
0
斗图咖(www.doutuka.com)上线纪念

网站名称:斗图咖 网站描述:是一款年轻人都在玩的斗图网站,来斗图咖一起斗图装逼交朋友吧。站长每天上传收集的最新最火斗图,供大家娱乐聊天发表情;后期也会开发表情自主设计,自己设计表...

focusone
32分钟前
3
0
Spring AOP 切面编程记录日志和接口执行时间

最近客户现在提出系统访问非常慢,需要优化提升访问速度,在排查了nginx、tomcat内存和服务器负载之后,判断是数据库查询速度慢,进一步排查发现是因为部分视图和表查询特别慢导致了整个系统...

编程SHA
43分钟前
7
0
15个Spring的核心注释示例

众所周知,Spring DI和Spring IOC是Spring Framework的核心概念。让我们从org.springframework.beans.factory.annotation和org.springframework.context.annotation包中探索一些Spring核心注......

java菜分享
49分钟前
2
0
[LintCode] Binary Tree Level Order Traversal(二叉树的层次遍历)

描述 给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问) 样例 给一棵二叉树 {3,9,20,#,#,15,7} : 3 / \9 20 / \ 15 7 返回他的分层遍历结果: [ [3], [...

honeymose
57分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部