scala中的类
1.class类
1.1. class是属性和行为的集合。
-
属性也叫成员变量:名词,用来描述事物的外在特征
-
行为也叫成员方法:动词,表示事物能做什么
2.在Scala中,用class来创建类,用new来创建对象
案例(一)
object class01 {
// class类
class Student(var name:String) {
def sayHello(): Unit={
println(s"我是${name}")
}
}
def main(args: Array[String]): Unit = {
// 实例化类的对象
val stu =new Student("小花")
// 调用对象的方法
stu.sayHello()
}
}
student 构造函数
1.作用:用来创建对象,new 的时候,就会自动调用一次。
案例(二)
object class01 {
class Student(var name:String) {
println("Student构造函数被调用.....")
def sayHello(): Unit={
println(s"我是${name}")
}
}
def main(args: Array[String]): Unit = {
// 实例化类的对象
// new的时候,就会自动调用一次构造函数
val stu =new Student("小花")
new Student("小花")
new Student("小花")
new Student("小花")
// 调用对象的方法
// stu.sayHello()
}
}
辅助构造函数
1. new的时候,就会自动调用一次构造函数
案例(三)
object class01 {
class Student(var name:String,var age:Int) {
println("Student构造函数被调用.....")
def this(name:String) = {
this(name, 15)
}
def sayHello(): Unit={
println(s"我是${name},今年${age}")
}
}
def main(args: Array[String]): Unit = {
// 实例化类的对象
// new的时候,就会自动调用一次构造函数
val stu =new Student("小花",18)
// 调用对象的方法
stu.sayHello()
val stu1 =new Student("小明")
// 调用对象的方法
stu1.sayHello()
}
}
构造函数:
(1)主构造函数 (2)辅构造函数
特点:
名字就叫this,它的代码第一行必须是调用主构造器。可以有多个。
案例(四)
object class01 {
// class类
// student 构造函数(构造器),用来创建对象,new 的时候,就会自动调用一次。
// 构造函数:
// (1)主构造函数
// (2)辅构造函数
// 特点:名字就叫this,它的代码第一行必须是调用主构造器。可以有多个。
class Student(var name:String,var age:Int) {
println("Student构造函数被调用.....")
// 辅助构造函数1
def this(name:String) = {
this(name, 15)
println("辅助构造函数被调用.....")
}
// 辅助构造函数2
def this(age:Int) = {
this("未知",age)
println("辅助构造函数被调用.....")
}
def sayHello(): Unit={
println(s"我是${name},今年${age}")
}
}
def main(args: Array[String]): Unit = {
// 实例化类的对象
// new的时候,就会自动调用一次构造函数
val stu =new Student("小花",18)
// 调用对象的方法
stu.sayHello()
val stu1 =new Student("小明")
stu1.sayHello()
val stu2 =new Student(20)
stu2.sayHello()
}
}