Scala学习

Posted pickless

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scala学习相关的知识,希望对你有一定的参考价值。

---恢复内容开始---

Scala基础

1.数据类型

数据类型描述
Byte 8位有符号补码整数。数值区间为 -128 到 127
Short 16位有符号补码整数。数值区间为 -32768 到 32767
Int 32位有符号补码整数。数值区间为 -2147483648 到 2147483647
Long 64位有符号补码整数。数值区间为 -9223372036854775808 到 9223372036854775807
Float 32 位, IEEE 754 标准的单精度浮点数
Double 64 位 IEEE 754 标准的双精度浮点数
Char 16位无符号Unicode字符, 区间值为 U+0000 到 U+FFFF
String 字符序列
Boolean true或false
Unit 表示无值,和其他语言中void等同。用作不返回任何结果的方法的结果类型。Unit只有一个实例值,写成()。
Null null 或空引用
Nothing Nothing类型在Scala的类层级的最低端;它是任何其他类型的子类型。
Any Any是所有其他类的超类
AnyRef AnyRef类是Scala里所有引用类(reference class)的基类

技术图片

技术图片

 

 创建

1. Scala object相当于java中的单例,object中定义的全是静态的,相当于java中的工具类。

技术图片

 

 

object Lesson_ClassAndObj {
def main(args: Array[String]): Unit = {
println("hello world")
}
}

 2.  Scala中每行后面都会有分号自动推断机制,不用显式写出“;”

println("hello world") 

3. Scala中定义变量使用var,定义常量使用val ,变量可变,常量不可变.变量和常量
类型可以省略不写,会自动推断。

技术图片

4. 建议在Scala中命名使用驼峰命名法
大驼峰(HelloWorld)、小驼峰(helloWorld)
5. Scala类中可以传参,传参一定要指定类型,有了参数就有了默认了构造。类中的
属性默认有getter和setter方法

技术图片

6.  类中重写构造时,构造中第一行必须先调用默认的构造 。def this(....){....}

技术图片

 

技术图片

7.  Scala中当new class 时,类中除了方法不执行【除了构造方法】,其他都执行。

技术图片

技术图片

技术图片

 

 

技术图片

8. 在同一个scala文件中,class名称和Object名称一样时,这个类叫做个对象的生类,这个对象叫做这个类的伴生对象,他们之间可以互相访问私有变量。

 技术图片

技术图片

9.  Object不可以传参,对象要传参,使用apply方法。

技术图片

 

 2. 变量和常量的声明 

1.定义变量或者常量的时候,也可以写上返回的类型,一般省略,如:val a:Int = 10

2.常量不可再赋值

技术图片

3. 类和对象

技术图片

注意点:
? 建议类名首字母大写 ,方法首字母小写,类和方法命名建议符合驼峰命
名法。
? scala 中的object是单例对象,相当于java中的工具类,可以看成是定义
静态的方法的类。object不可以传参数。另:Trait不可以传参数
? scala中的class类默认可以传参数,默认的传参数就是默认的构造函数。
重写构造函数的时候,必须要调用默认的构造函数。
? class 类属性自带getter ,setter方法。
? 使用object时,不用new,使用class时要new ,并且new的时候,class
中除了方法不执行,其他都执行。
? 如果在同一个文件中,object对象和class类的名称相同,则这个对象就
是这个类的伴生对象,这个类就是这个对象的伴生类。可以互相访问私有
变量。

 

以上是关于Scala学习的主要内容,如果未能解决你的问题,请参考以下文章

Scala系列Scala学习笔记

Scala学习汇总篇

Scala语言学习笔记一

Scala学习1————scala开发环境搭建(windows 10)

scala 学习心得

学习Scala 进击大数据Spark生态圈