class的使用
主构造器
scala
class User(val phone: String, var pwd: String) {
var email: String = ""
var name: String = ""
// 其他代码
}
class User(val phone: String, var pwd: String)是主构造器。主构造器的参数直接跟在类名后面。val phone: String表示phone是一个不可变(val)的成员变量,类型为String。var pwd: String表示pwd是一个可变(var)的成员变量,类型为String。- 同时在类内部还定义了另外两个可变成员变量
email和name,初始值都为空字符串""。
辅构造器
Scala 中可以有多个辅构造器,辅构造器的名称是 this,并且每个辅构造器都必须调用主构造器或者其他已经定义的辅构造器(且必须是第一条语句)。
- 第一个辅构造器:
scala
def this(email: String, name: String, pwd: String) {
this("", pwd) // 调用主构造器,传入空字符串作为 phone 的值,pwd 传入参数 pwd
this.name = name // 给 name 成员变量赋值
this.email = email // 给 email 成员变量赋值
}
- 第二个辅构造器:
scala
def this(email: String, name: String, pwd: String, phone: String) {
this(phone, pwd) // 调用主构造器,传入参数 phone 和 pwd
this.name = name // 给 name 成员变量赋值
this.email = email // 给 email 成员变量赋值
}
方法 say
scala
def say(): Unit = {
println(s"我的信息如下:")
println(s"姓名:${name}")
println(s"手机号:${phone}")
println(s"邮箱:${email}")
println(s"密码:${pwd}")
}
- 这是一个名为
say的方法,返回值类型是Unit(类似于 Java 中的void,表示没有返回值)。 - 方法内部使用 Scala 的字符串插值(
s"...")来格式化输出User对象的name、phone、email和pwd这几个成员变量的值。
总的来说,这段代码定义了一个 User 类,通过主构造器和辅构造器可以灵活地创建 User 对象,并且通过 say 方法可以打印出用户的相关信息