Programming in Scala 2nd 读书笔记 1
作为Programming in Scala 2nd 的读书笔记 留个记录
函数(方法)是和对象一样的一等公民,可以直接传递函数
对比java,基本数据类型也是对象 Int,Long,Double 且都不可变
优先使用不可变类型 val immutable
Class And Object
class和java中的class类似
object是一个singleton,里面定义的方法可以直接通过object访问到,类似java的static
scala中没有static关键字
当class和object同名时,object里可以访问到class对象里的任意字段,包括private
class只有一个构造函数,在class的开头定义
构造函数的重载在class的
Basic Types and Operations
所有的操作符 + - * / == ! !=等都是class的方法
scala提供 objectA method param 作为函数调用的方式
1 + 1可以写成1.+(1)
不同于java ==直接调用class.equals
默认的equals和java的相似,不同对象的默认equals返回值永远是false,需要自行重载
Functional Objects
对象的构造参数直接放在class的声明里
require(check:boolean) 判断参数是否合法
class本体里的代码会在对象创建时被调用
声明字段或者方法的默认域为public