文章目录
- 类
- 创建类的基本语法
- 创建对象语法
- 注意事项
- 成员变量/属性
- 注意事项
- 底层原理
- 方法
类
Scala语言来自于java,天生就是面向对象的语言,且Scala是纯粹的面向对象的语言, 在Scala中一些皆对象
创建类的基本语法
示例:
创建对象语法
var|val 变量名[:类型]= new 类型()
注意事项
1)如果对象的引用不会改变(只会改变对象的属性值) 则变量声明为 val 否则声明为 var
2) scala 中 变量声明类型可以省略(会根据new 的类名自动设置 变量类型),但是 如果声明的类型和new 的类型不一致时(有继承关系)必须声明类型
3)scala中类默认为public
4)一个文件中可以有多个类且默认都是public
成员变量/属性
注意事项
1)属性定义方法同成员变量 [修饰符] var 属性名称[:类型]=属性值
2)属性可以定义为任意类型
3)Scala中属性声明后必须显式初始化
4)如果赋值为null 一定要声明类型 否则 该属性类型被默认为Null
5)定时属性时如果暂时不想初始化,可以使用_ 来为变量分配默认值
6) 当我们声明了 var name:String 时,在底层java类中生成 private name 属性
同时会生成两个public 方法 :
name() (类似 java中的get**方法)和 public name_KaTeX parse error: Expected group after '_' at position 63: …调用对应java类的c.age_̲seq(10)方法
同理 调用c.age 时,其实是调用对应java类的c.age() 方法
底层原理
创建上述Cat类后 scala编译器会在底层自动生成对应的java类 ,到target目录下可以看到一个Cat.class 文件,反编译后内容如下:
方法
scala中方法其实就是函数,语法: def 方法名(参数列表)[:返回类型]={方法体}
示例如下: