
Scala
qq_15014327
这个作者很懒,什么都没留下…
展开
-
1.Scala基础
package scalaobject BaseTest { def main(args: Array[String]): Unit = { /** * 在 Scala中,使用关键词 "var"声明变量,使用关键词 "val"声明常量。 */ //基本类型 println("Hello World!") val x = 0x29 ...原创 2018-10-31 10:06:08 · 122 阅读 · 0 评论 -
14.Scala Case Class与匹配模式
一.匹配模式Scala中匹配模式,类似与Java中的Switch。不过,Scala中匹配模式避免了Java Switch忘记Break时,穿透的问题。演示如下:for(i <- 1 to 100){ i match{ case 10 => println(10) case 50 => println(50) case 100 => ...原创 2018-11-04 23:41:58 · 333 阅读 · 0 评论 -
9.Scala继承和多态
一.继承//父类class Person(name:String,age:Int) { println("Person ...") def walk():Unit = println("walk like a normal person")}//子类//继承关系class Student(name:String,age:Int,var stuNo:String) exten...原创 2018-11-03 00:47:40 · 816 阅读 · 1 评论 -
8.Scala包和import
一.包//包,平常我们还是想Java那样去使用包package scala{ class Cat{ def eat()={println("cat eat ...")} }}二.访问控制 无任何修饰符:任何地方都可以使用 private[scala]:在定义的类中可以访问,在scala包及子包中可以访问 private[this]:只能在定义...原创 2018-11-02 20:52:48 · 1502 阅读 · 0 评论 -
13.高阶函数
一.高阶函数介绍高阶函数主要有两种:一种是将一个函数当做另外一个函数的参数(即:函数参数);另外一种是返回值是函数的函数。演示示例:object High { def main(args: Array[String]): Unit = { //1.调用参数为函数的函数 val str = int2Str { x => x + " s" } print...原创 2018-11-04 01:46:34 · 224 阅读 · 0 评论 -
12.Scala的I/O和正则表达式
一.I/O在Scala中,调用Java中的I/O类或者通过对Java中的I/O类进行相应的封装来实现I/O操作。trait FileLogger extends Logger{ val fileName:String //PrintWriter使用的是java.io.PrintWriter类 val fileOutput=new PrintWriter(fileName:S...原创 2018-11-04 00:05:01 · 187 阅读 · 0 评论 -
11.Scala特质Triat
一.Trait介绍在Java语言中,只允许继承一个超类,该类可以实现多个接口。 但Java接口有其自身的局限性:接口中只能包括抽象方法,不能包含字段、具体方法。 Scala语言利用Trait解决了该问题,在Scala的Trait中,它不但可以包括抽象方法还可以包含字段和具体方法。示例:trait Test{}trait Dao{ //定义抽象方法不需要加abstract,加了...原创 2018-11-04 00:04:57 · 409 阅读 · 0 评论 -
10.Scala类的层次结构
类的层次结构// Any类的源码,Any类有5个方法// ==与!=被声明为final,它们不能被子类重写final def ==(that: Any): Booleanfinal def !=(that: Any): Booleandef equals(that: Any): Booleandef hashCode: Intdef toString: String根据以...原创 2018-11-04 00:04:51 · 808 阅读 · 0 评论 -
7.Scala类与对象(二)
一.单例对象//单例对象/** * 某些场景下,我们可能不需要创建对象,而是想调用方法。像Java就是通过调用静态方法实现的创建对象。 * 但是,Scala不支持静态成员。Scala通过单例对象解决该问题。 */object Phone { private var pid:Int = 0 def uniqueId()={ pid += 1 pid } ...原创 2018-11-02 01:26:17 · 143 阅读 · 0 评论 -
6.Scala类与对象(一)
一.类和对象的创建与使用class Person { //类成员必须初始化,否则报错 //这里定义的是一个公有成员 var name:String = null}object Test { def main(args: Array[String]): Unit = { //创建对象 val p = new Person() //调用setter...原创 2018-11-01 21:46:37 · 143 阅读 · 0 评论 -
0.Scala安装及配置开发环境
一.Scala介绍Scala 是 Scalable Language 的简写,是一门多范式的编程语言。Scala 特性 面向对象特性:Scala是一种纯面向对象的语言,每个值都是对象。对象的数据类型以及行为由类和特质描述。类抽象机制的扩展有两种途径:一种途径是子类继承,另一种途径是灵活的混入机制。这两种途径能避免多重继承的种种问题。 函数式编程:Scala也是一种函数式语言,其...原创 2018-11-01 20:19:21 · 184 阅读 · 0 评论 -
5.Scala函数
package scalaobject FunctionTest { def main(args: Array[String]): Unit = { /** * def max(x:Int,y:Int):Int = { * if(x > y) * x * else * y * } */ //1.值函数 //函...原创 2018-11-01 18:11:10 · 137 阅读 · 0 评论 -
4.Scal集合
package scalaobject CollectionTest { def main(args: Array[String]): Unit = { /** * scala中的集合分为两种,一种是可变的集合,另一种是不可变的集合 * 1.可变的集合可以更新或修改,添加、删除、修改元素将作用于原集合 * 2.不可变集合一量被创建,便不能被改...原创 2018-11-01 18:10:04 · 327 阅读 · 0 评论 -
3.Scala列表
package scalaobject ListTest { def main(args: Array[String]): Unit = { //1.创建List val fruit = List("Apple", "Banana", "Orange") val fruit1 = List.apply("Apple", "Banana", "Orange"原创 2018-11-01 18:09:22 · 118 阅读 · 0 评论 -
2.Scala数组
package scalaobject ArrayTest { def main(args: Array[String]): Unit = { //1.定长数组Array //一种定长数组定义方式 //复杂对象类型在数组定义时被初始化为null,数值型被初始化为0 val numArr = new Array[Int](5) val strArr ...原创 2018-11-01 18:08:24 · 258 阅读 · 0 评论 -
15.Scala开发环境搭建
一开始使用了Eclipse开发工具,安装Scala之后,下载Scala Eclipse插件并将压缩包中的feature和plugin拷贝到Eclipse工具的相应目录即可。但是,使用Eclipse Maven开发Scala项目有点不好用。所以,折腾来折腾去果断舍弃,改用Idea搭建Scala开发环境。我们先去官网下载Scala Windows版安装包,版本2.11.12。安装过程就像安装JDK...原创 2018-11-07 17:26:36 · 192 阅读 · 0 评论