SCALA 语法

1.区分大小写

2.类名第一个大写

3.所有的方法名称的第一个字母用小写。

4.程序文件名  与对象名称匹配(新版本不需要,建议一致)

5.程序入口 def main(args:Array[String])

标识符

Scala 数据类型

byte

shout

int

long

char

boolean

float

double

以及和java不同的

String 字符序列

Unit   表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()。

Null        null 或空引用

Nothing    Nothing类型在Scala的类层级的最底端;它是任何其他类型的子类型。

Any   Any是所有其他类的超类

AnyRef          AnyRef类是Scala里所有引用类(reference class)的基类

val myVal : String = "Foo"

以上定义了常量 myVal,它是不能修改的。如果程序尝试修改常量 myVal 的值,程序将会在编译时报错。

Scala 访问修饰符

Scala 访问修饰符基本和Java的一样,分别有:private,protected,public。

Scala 中的 private 限定符,比 Java 更严格,在嵌套类情况下,外层类甚至不能访问被嵌套类的私有成员。

在 scala 中,对保护(Protected)成员的访问比 java 更严格一些。因为它只允许保护成员在定义了该成员的的类的子类中被访问。而在java中,用protected关键字修饰的成员,除了定义了该成员的类的子类可以访问,同一个包里的其他类也可以进行访问。

这里的x指代某个所属的包、类或单例对象。如果写成private[x],读作"这个成员除了对[…]中的类或[…]中的包中的类及它们的伴生对像可见外,对其它所有类都是private。

Scala 运算符

位运算

!    按位或      有一个1即可

^   按位异或   1^1 =0       0^0 =  0    不同则高

~    取反       ~1 = 0

&    按位与     1&1 =1

Scala 方法与函数

闭包 

类似于  java 函数式变成  调用外面的参数

Scala 数组

var z = new Array[String](3)

z(0) = "123"\

Scala Trait(特征)

Scala Trait(特征) 相当于 Java 的接口,实际上它比接口还功能强大。

与接口不同的是,它还可以定义属性和方法的实现。

一般情况下Scala的类只能够继承单一父类,但是如果是 Trait(特征) 的话就可以继承多个,从结果来看就是实现了多重继承。

trait

scala中的var 和val

1:内容是否可变:val修饰的是不可变的,只读,var修饰是可变的  可读可写

2:val修饰的变量在编译后类似于java中的中的变量被final修饰

3:lazy修饰符可以修饰变量,但是这个变量必须是val修饰的

ps:lazy相当于延迟加载(懒加载),当前变量使用lazy修饰的时候,只要变量不被调用,就不会进行初始化,什么时候调用,什么时候进行初始化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值