介绍
scala中的类,其作用与java中的类是一样的,这里不做过多解释
类:相当于建筑的图纸、手机图纸
对象:根据图纸建造的大楼、手机
类
语法
[修饰符] class 类名 {
类体
}
说明:
不写访问权限,就表示 公共类,而且 公共类 不能声明
public,否则会报错一个
.scala源文件可以包含多个类
例子
如下图:
class Phone{
}
class Student {
}
class Teacher{
}
属性(成员变量、实例变量)
与java中的属性含义相同
语法
[修饰符] var 名称 [:类型] = 属性值
说明:
写在类的内部,方法的外部
不写访问权限,就表示
public,注意:不能声明public,否则会报错
例子
class Phone{
var name:String="iphone15"
var cpu:String = "A100"
var screen:Double=6.1
var rom:Int=128
var ram:Int = 4
}
常量
初始化不能改变值
[修饰符] val 名称 [:类型] = 属性值
例子
class Phone{
val pi=3.1415926
}
创建对象
语法
val|var 对象名 [:类] = new 类()
或者
val|var 对象名 [:类] = new 类 //省略小括号()
说明:
val修饰对象,不能改变对象的引用(即:内存地址),可以改变对象属性的值。var修饰对象,可以修改对象的引用和修改对象的属性值不加
[:类]也可以,自动推导变量类型,但 不能多态,所以多态需要显示声明
例子
创建对象、访问属性、给属性赋值
object StdClass {
def main(args: Array[String]): Unit = {
//val 修饰对象,不能改变对象的引用(即:内存地址),可以改变对象属性的值。
val phone:Phone = new Phone()
// phone = new Phone()// 错误
println(phone.name)
println(phone.cpu)
phone.cpu = "123"
println(phone.cpu)
println(phone.screen)
println(phone.rom)
println(phone.ram)
}
}
class Phone{
val name:String="iphone15"
var cpu:String = "A100"
var screen:Double=6.1
var rom:Int=128
var ram:Int = 4
}
