Scala Apply】的更多相关文章

在akka源码中有这样一个Cluster类. 使用方法是这样的:val cluster = Cluster(context.system); 作为scala菜鸟的我,并没有找到Cluster(system..)这个有参的构造方法.于是开始接着学习scala. Cluster是一个object单例对象. Scala比Java更面向对象的一个方面是Scala没有静态成员.替代品是,Scala有单例对象:singleton object. 当单例对象与某个类共享同一个名称时,他被称作是这个类的伴生对象…
class ApplyTest{ //一定要写(),不加括号就报错. def apply() = println("Into Spark!") def havaAtry(){ println("have a try!") }} object ApplyTest{ //一定要写(),不加括号就报错. def apply() = new ApplyTest} //调用时: val test = ApplyTest() test.haveAtry() //类名+(),相当…
之前写过一篇maven项目中java与scala如何混用,今天来看看gradle项目中如何达到同样的效果: 一.目录结构 基本上跟maven一样,tips:这一堆目录结构不用死记,后面会讲如何用gradle命令快速生成 二.build.gradle配置 group 'yjmyzz' version '1.0-SNAPSHOT' apply plugin: 'java' apply plugin: 'scala' apply plugin: 'application' //可选(可自动生成shel…
Scala面向对象 三大特征:封装.继承.多态 1.类的定义和使用 package top.ruandb.scala.Course02 object Simple { def main(args: Array[String]): Unit = { val person = new People; person.name="张三" println(person.name +" "+ person.age) person.eat("香蕉") pers…
按照新建自动步骤,建好文件后,在build-gradle 里面 写上: allprojects { group 'aaaa' version '1.0-SNAPSHOT' apply plugin: 'java' apply plugin: 'maven' apply plugin: 'scala' apply plugin: 'eclipse' sourceCompatibility = 1.8} subprojects { [compileJava, compileTestJava, jav…
Scala中的 apply 方法有着不同的含义, 对于函数来说该方法意味着调用function本身, 以下说明摘自Programming in Scala, 3rd Edition Every function value is an instance of some class that extends one of several FunctionN traits in package scala, such as Function0 for functions with no parame…
一.主从构造器 java中构造函数没有主.从之分,只有构造器重载,但在scala中,每个类都有一个主构造器,在定义class时,如果啥也没写,默认有一个xxx()的主构造器 class Person { var name: String = _ /** * 从构造器 * @param name */ def this(name: String) = { this //注意:从构造器,必须先调用主构造器 this.name = name; } override def toString = { "…
摘抄两段话: 在明确了方法调用的接收者的情况下,若方法只有一个参数时,调用的时候就可以省略点及括号.如 " to ",实际完整调用是 ".to()".但 "println()" 不能写成 "println "",因为未写出方法调用的接收者 Console,所以可以写成 "Console println " 用括号传递给变量(对象)一个或多个参数时,Scala 会把它转换成对 apply 方法的调用…
package com.test.scala.test /** * apply 方法 */ object ApplyTest { def main(args: Array[String]): Unit = { //先看一个例子 var a1=Array(5) var a2=new Array(5) //对a1进行输出 for(i<-a1)println(i);//这输出5,大小为1 //对a2进行输出 for(i<-0 to a2.length)println(i);//这个是输出了a2的大小…
原文链接:http://blog.csdn.net/lyrebing/article/details/21696581 Scala 是构建在 JVM 上的静态类型的脚本语言,而脚本语言总是会有些约定来增强灵活性.灵活性可以让掌握了它的人如鱼得水,也会让初学者不知所措.比如说 Scala 为配合 DSL 在方法调用时有这么一条约定: 在明确了方法调用的接收者的情况下,若方法只有一个参数时,调用的时候就可以省略点及括号.如 “0 to 2”,实际完整调用是 “0.to(2)”.但 “println(…