【Scala】Scala之Traits】的更多相关文章

Object An object is a type of class that can have no more than one instance, known in object-oriented design as a singleton. Instead of creating an instance with a new keyword, just access the object directly by name. Objects provide similar "static&…
1.List 基础操作 2.Set 基础操作 3. TreeSet 排序Set 4. 拉链操作 5. 流 import scala.collection.immutable.TreeSet import scala.util.Random /** * @author xwolf * @date 2017-04-25 15:26 * @since 1.8 */ object Collection { def main(args:Array[String]):Unit={ list() // set…
1.scala 函数定义 2.scala 高阶函数 3.匿名函数 4.柯里化 import scala.math._ /** * @author xwolf * @date 2017-04-24 9:57 * @since 1.8 */ class Function { // _ 将round 方法转化为函数 val cel = round _ def add(x:Int,y:Int) = x+y //函数 def f(x : => Int) = x.+(3) def m (r : => Do…
1. Regex对象 我们可以使用scala.util.matching.Regex类使用正则表达式.要构造一个Regex对象,使用String类的r方法即可: val numPattern = "[0-9]+".r 如果正则表达式包含反斜杠或引号的话,那么最好使用"原始"字符串语法"""...""": val positiveNumPattern = """^[1-9]\d*…
1. 读取行 读取文件,可以使用scala.io.Source对象的fromFile方法.如果读取所有行可以使用getLines方法: val source = Source.fromFile("/home/xiaosi/exception.txt", "UTF-8") val lineIterator = source.getLines() for(line <- lineIterator){ println(line) } source.close() s…
1. 单例对象 Scala没有静态方法或静态字段,可以使用object来达到这个目的,对象定义了某个类的单个实例: object Account{ private var lastNumber = 0 def newUniqueNumber () = {lastNumber += 1; lastNumber} } 当你在应用程序中需要一个新的唯一账号时,调用Account.newUniqueNumber()即可.对象的构造器在该对象第一次被使用时调用.在本例中,Account的构造器在Accou…
1. 简单类与无参方法 class Person { var age = 0 // 必须初始化字段 def getAge() = age // 方法默认为公有的 } 备注 在Scala中,类并不声明为public. Scala源文件可以包含多个类,所有这些类都具有公有可见性.属性不声明默认为public. 使用类: val p = new Person // 或者new Person() p.age = 23 println(p.getAge()) // 23 调用无参方法时,可以写上圆括号,也…
Scala是一门多范式的编程语言,一种类似java的编程语言,设计初衷是实现可伸缩的语言.并集成面向对象编程和函数式编程的各种特性. 不太久之前编程语言还可以毫无疑意地归类成“命令式”或者“函数式”或者“面向对象”.Scala代表了一个新的语言品种,它抹平了这些人为划分的界限. 根据David Rupp在博客中的说法,Scala可能是下一代Java. 与只支持单继承的语言相比,Scala具有更广泛意义上的类重用.Scala允许定义新类的时候重用“一个类中新增的成员定义(即相较于其父类的差异之处)…
1. 构造映射 可以使用如下命令构造一个映射: scala> val scores = Map("Alice" -> 90, "Kim" -> 89, "Bob"-> 98) scores: scala.collection.immutable.Map[String,Int] = Map(Alice -> 90, Kim -> 89, Bob -> 98) 上面构造了一个不可变的Map[String, I…
1. 定长数组 如果你需要一个长度不变的数组,可以使用Scala中的Array. val nums = new Array[Int](10) // 10个整数的数组 所有元素初始化为0 val strs = new Array[String](10) // 10个字符串的数组 所有元素初始化为null val s = Array("Hello", "World") // 长度为2的Array[String] 类型是推断出来的 s(0) = "GoodBye…
1. 变量 val定义的值实际上是一个常亮,无法改变其内容 scala> val num = 0 num: Int = 0 scala> num = 2 <console>:12: error: reassignment to val num = 2 ^ 如果要声明其值可变的变量,可以使用var scala> var number = 0 number: Int = 0 scala> number = 2 number: Int = 2 在Scala中,建议使用val,…
一  Scala简述 Scala (斯卡拉)是一门多范式(multi-paradigm)的编程语言. 这里所谓的范式,指的是编写程序的方式,不同的编程语言,方式也不尽相同,也就意味着Scala编程语言是融合了多种不同编程方式的语言.所以Scala语言的设计初衷是要集成面向对象编程和函数式编程的各种特性. 二  Scala与Java的关系 创始人马丁·奥德斯基(Martin Odersky)是编译器及编程的狂热爱好者,长时间的编程之后,希望发明一种语言,能够让写程序这样的基础工作变得高效,简单,且…
1.单例对象和伴生对象 2.定义单利对象的apply方法可不通过构造器直接创建对象 3.extends 来扩展单例对象 4.枚举实现 /** * 单例对象 * * @author xuejz * @date 2017-04-13 16:41 * @since 1.8 */ //单例对象 class Parent extends Action(12){ //调用伴生对象的无参方法 val pson =if(Parent.son==0) 1 else Parent.newSon val son=0…
1. The three principles of OOP are encapsulation(封装性), inheritance(继承性) and polymorphism(多态性). example: class Shape{ def area: Double = 0.0 } # supertype # subtypes class Rectangle(val width: Double, val height: Double) extends Shape{ override def ar…
1. Scala is a contraction of "scalable" and "language". It's a fusion of objected-oritended and functional programming. 2. Compare Book class between Java and Scala Java: class Book{ private String title; private int numberOfPages; pub…
主要来自 Scala 语言发明人 Martin Odersky 教授的 Coursera 课程 <Functional Programming Principles in Scala>. 3. Data and Abstraction 3.1 Class Hierarchies 这一集字幕不同步-,-,听得有点费力! 类的概念和其他语言里面很相似,基类,子类,父类啥的叫法差不多.在 Scala 中,所有用户自定义的类都是另外一个类的子类,如果没有显式给定父类,java 里面默认继承 java.…
1       快速入门... 4 1.1             分号... 4 1.2             常变量声明... 4 1.2.1         val常量... 4 1.2.2         var变量... 4 1.2.3         类型推导... 5 1.2.4         函数编程风格... 5 1.3             Range. 5 1.4             定义函数... 6 1.5             while.if 6 1.6…
Scala Overview Scala is object-oriented Scala is a pure object-oriented language in the sense that every value is an object. Types and behavior of objects are described by classes and traits. Classes are extended by subclassing and a flexible mixin-b…
在最开始处引入 log 相关的 包 import org.apache.log4j.{Logger,Level} 在需要屏蔽日志输出的地方加上这两行代码 // 屏蔽不必要的日志显示在终端上 Logger.getLogger("org.apache.spark").setLevel(Level.ERROR) Logger.getLogger("org.eclipse.jetty.server").setLevel(Level.OFF) // scala io Case…
如果您熟悉Java语言语法和编程,那么学习Scala将会很容易.Scala和Java之间最大的句法差异在于行结束字符的分号(;) 是可选的. 当编写Scala程序时,它可以被定义为通过调用彼此的方法进行通信的对象的集合.现在我们简单地看一下类,对象,方法和实例变量的含义. 对象 - 对象有状态和行为.一个对象是类的一个实例.例如 - 狗有状态:颜色,名称,品种,它行为有:摇摆,吠叫和吃东西. 类 - 可以将类定义为描述与该类相关的行为/状态的模板/蓝图. 方法 - 一个方法基本上是一种行为.一个…
如果您熟悉Java语言语法和编程,那么学习Scala将会很容易.Scala和Java之间最大的句法差异在于行结束字符的分号(;) 是可选的. 当编写Scala程序时,它可以被定义为通过调用彼此的方法进行通信的对象的集合.现在我们简单地看一下类,对象,方法和实例变量的含义. 对象 - 对象有状态和行为.一个对象是类的一个实例.例如 - 狗有状态:颜色,名称,品种,它行为有:摇摆,吠叫和吃东西. 类 - 可以将类定义为描述与该类相关的行为/状态的模板/蓝图. 方法 - 一个方法基本上是一种行为.一个…
1. scala初识 spark由scala编写,要解析scala,首先要对scala有基本的了解. 1.1 class vs object A class is a blueprint for objects. Once you define a class, you can create objects from the class blueprint with the keyword new. import java.io._ class Point(val xc: Int, val yc…
Scala 与 Java有着相同的数据类型,下表列出了 Scala 支持的数据类型: Byte8位有符号补码整数.数值区间为 -128 到 127 Short16位有符号补码整数.数值区间为 -32768 到 32767 Int32位有符号补码整数.数值区间为 -2147483648 到 2147483647 Long64位有符号补码整数.数值区间为 -9223372036854775808 到 9223372036854775807 Float32位IEEE754单精度浮点数 Double64…
1. Variables (1) Three ways to define variables: 1) val refers to define an immutable variable; scala> val x = x: Int = scala> x*x res4: Int = scala> res4 + # use result as a value res6: Int = scala> res4 + res6 res7: Int = scala> x = # x i…
Scala学习资源: Scala官方网站:http://www.scala-lang.org/ Scala github:https://github.com/scala/scala Twitter Effective Scala:http://twitter.github.io/effectivescala/index-cn.html Twitter Scala School:https://github.com/twitter/scala_school Twitter Scala Schoo…
第一步:学习使用Scala解释器 开始Scala最简单的方法是使用Scala解释器,它是一个编写Scala表达式和程序的交互式“shell”.在使用Scala之前需要安装Scala,可以参考 First Steps to Scala 内容. 你可以在命令提示符里输入scala使用它: $ scala Welcome to Scala version 2.9.2. Type in expressions to have them evaluated. Type :help for more inf…
一.什么是scala scala 是基于JVMde 编程语言.JAVA是运行在jvm上的编程语言,java 源代码通过jvm被编译成class 文件,然后在os上运行class 文件.scala是运行在jvm 上的编程语言,scala源代码通过jvm被编译成class文件,然后在os上运行class文件. 二语法: 1.声明值和变量 var a =12 // 定义变量 vary val  b = 23//  定义常量:value 2.有趣的语法特性 在scala的变量声明时,可以不指定类型,由解…
1.下载 1.1Scala下载 Windows版:http://www.scala-lang.org/download/ Linux版:http://www.scala-lang.org/download/2.11.8.html 拉到下方: 1.2ScalaIDE下载 下载地址:http://scala-ide.org/download/sdk.html 2.Windows下安装Scala 环境:Windows10+JDK1.7+Scala2.11.8 2.1安装 此处,换安装位置: Done…
一 入门 为了增加编程趣味和技能,学习新语言,体会函数式编程和简易的并发管理模型,了解日渐活跃的Spark,尝试下Scala.Scala = Scalable language,作者是Martin Odersky. 1. mac下安装 brew install scala 命令行输入scala  println("hello,scala") 2. Intellij scala plugin http://confluence.jetbrains.com/display/SCA/Gett…
scala 安装步骤 文件下载地址:www.scala-lang.org(Please report bugs at https://issues.scala-lang.org/. We welcome contributions at https://github.com/scala/scala) 解压缩文件,在该文件的bin目录下运行如下命令 - scala Scala interactive interpreter- scalac Scala compiler- fsc Scala res…