Programming in Scala 2nd 读书笔记 1

本文详细介绍了Scala中函数和对象的关系,包括函数作为一等公民、基本数据类型的使用、不可变类型的优势、类与对象的区别、构造函数的重载、操作符作为方法、功能性对象的使用以及静态方法的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作为Programming in Scala 2nd 的读书笔记 留个记录

函数(方法)是和对象一样的一等公民,可以直接传递函数

对比java,基本数据类型也是对象 Int,Long,Double 且都不可变

优先使用不可变类型 val immutable

[b]Class And Object[/b]

class和java中的class类似

object是一个singleton,里面定义的方法可以直接通过object访问到,类似java的static

scala中没有static关键字
当class和object同名时,object里可以访问到class对象里的任意字段,包括private

class只有一个构造函数,在class的开头定义
构造函数的重载在class的

[b]Basic Types and Operations[/b]

所有的操作符 + - * / == ! !=等都是class的方法
scala提供 objectA method param 作为函数调用的方式
1 + 1可以写成1.+(1)

不同于java ==直接调用class.equals
默认的equals和java的相似,不同对象的默认equals返回值永远是false,需要自行重载

[b]Functional Objects[/b]

对象的构造参数直接放在class的声明里
require(check:boolean) 判断参数是否合法
class本体里的代码会在对象创建时被调用
声明字段或者方法的默认域为public
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值