03-Scala面向对象与集合

def function_name(a:String, b:Int):String = {

// 方法体

// 最后一行是整个函数的返回值

}

to  until Range 的区别

for

默认参数/命名参数/变长参数(:_*)

面向对象编程

Class

new

Object???

构造器:主/附属

继承

重写:方法/属性  override

抽象类

Object&Class

同名:“伴生”

称为:object是class的伴生对象,class是object的伴生类

ApplyApp()

==> 伴生()没有new的,其实底层调用的就是伴生Object里面的apply方法

class和object都可以定义apply方式

Object() ==> Object里面的apply

val a = new ClassA()  a() ==> Class里面的apply方法

集合:

1)如何创建

2)如何赋值

3)如何取值

数组

定长: Array

val a = new Array[String](5)

变长: ArrayBuffer

变长+定长采用++=

trait 接口

List

Nil就是一个空的list

head:返回list的第一个元素

tail:返回的是去掉head之外的list

List = head + tail

定长: List

变长:ListBuffer

Set:

set vs list

set:无序、不重复

list:有序,可重复

Map:键值对  key-value

你可能感兴趣的:(03-Scala面向对象与集合)