1.object
(1)不用new就能直接调用
如上图的diao调用,没用new,类名.方法名,就可以直接调用了。
(2)类似于静态类
如上图打印三次的结果是1 2 3,而不是三个1,因为打印一次他的值就变了。
2.object和class
(1)若俩者同名,在同一包中object中则称为伴生
(2)object是class的伴生对象,class是object的伴生类
(3)在这个方法中底层就new了Applyapp class
这样的做的好处是如下图,你在调用不用new了
(4)他俩都可以定义同名的一个方法,但是调用的时候就是各自调用各自的
Object() ==> Object里面的apply
val a = new ClassA() a() ==> 有定义一个参数等于一个对象啥的就是调用class里面的apply方法
3.定长数组
(1)学习一个集合掌握三个重点:
如何创建
如何赋值
如何取值
(2)基本的数组定义和取值
赋值也包括了修改
(3)c.mkString的三种方法
合成一个新的字符串,这个新的字符串有三种方式设置分隔。
三个参数那个:第一个拼接字符串左边的值。第二个分隔符号,第三个拼接字符串右边的值。
4.变长数组
(1)定义变长数组需要导入包import scala.colleection,mutable.ArrayBuffer
(2)val c = ArrayBuffer[Int]()
(3)c+=1:表示在c数组中加入一个元素1,(2,3,4)表示同时加入多个元素
(4)c++=Array(5,6,7):表示变长加定长,要用俩个+
(1)c.insert(0,0):表示在下标为0的位置,加入一个元素0
(2)c.remove(1):删除下标为1的元素
(3)c.remove(0,3):删除以下标0开始的三个元素
(4)c.trimEnd(2):他也是删除,调用remove删除后面俩个
(5)c.toArray:表示的是将变长转为定长
5.CaseClass
主要记住俩点:(1)是class里面的一个特殊,不用new就可以直接调用
(2)模式匹配用的上
6.trait 接口
yunfeiTrait:里面有一个方法,报错,按住alt键,点下 override就好了
7.定长List
Nil:就是一个空的list
问不new list 如何拿到一个空的list,就用Nil
(1)val l = List(1,2,3,4):表示定义一个列表
(2)l.head:表示拿到第一个元素
(3)l.tail:biao表示拿到除了第一个元素的List
(4)val l2=1 ::Nil :定义列表l2,用1连接Nil,俩个冒号表示连接-
(5)2 :: l2 :这个是2开始的