scala

抽象类abstract和接口的差别:抽象类(extends来继承)捕捉子类通用特性 不能实例化 接口(implements来实现)是抽象方法的集合,继承接口即继承此接口的抽象方法
抽象类和普通类的差别:抽象类不能被实例化 抽象类可以有构造函数 抽象方法不能被声明为静态 含有抽象方法的类必须申明为抽象类
java:
class ABC extends XYZ implements Interface
scala:trait接口 接口可以继承其他接口 calss abc extends 类/接口(trait)不用implements
class ABC extends Aclass
class ABC extends ATrait
class ABC extends Aclass with ATrait with BTrait (with只能是trait 基类只有一个,class只能有一个)
class a extends b with c : b可以是类或者接口 c一定是接口 没用with a with b

final interface abcd
class abc implements abcd

sealed trait axyz
class xyz extends axyz

继承:接口到接口  类到类
实现:类到接口

集合显示他的项和索引:
Array(100,302,304,903,356).zipWithIndex.filter(_._1>900).take(1)/.filter(x=>x._1>900)
filter过滤 有以上两种写法
take(1):取第一个满足条件的
case 类:描述数据结构
1使用case类时 可以不用new 也可以用 基类可以是普通类
case和枚举类型相似
case类是不能修改的:
case class User(name:String,age:Int)
val u=User(“taomin”,18)
u.name
重新定义case class为:case class User(var name:String,private var age:Int)使得name可以变 年龄隐藏
scala"多继承"的顺序:
class d extends a with b with c:当abc有同一个方法时,继承顺序是优先继承后面的 当然a是类/接口 bc是接口
想要特定越过顺序则overwrite def fangfa(s:String)=super[a].fangfa(s) []里面指定继承哪个
范式类generic:
内部类inner:
yield:满足条件的值返回 为了方便就不用弄个数组接收了
scala的默认类就是public(还有protected private) 不写就是默认类 java默认是default(public private protected)
??private加在类层面上=加在方法层面 则当前包的其他类都可以用 protect与java一致
正则表达式:
val date="""(\d\d\d\d)-(\d\d)-(\d\d)"""="(\d\d\d\d)-(\d\d)-(\d\d)"
.r(必须是r)把他变成正则表达式:val date="""(\d\d\d\d)-(\d\d)-(\d\d).r

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值