什么是类 class?类是属性和行为的集合。 (1)属性也叫成员变量:名词,用来描述事物的外在特征 (2)行为也叫成员方法:动词,表示事物能做什么
object bais01 {
class Student() {
// 属性
// 定义属性和定义变量一致
var name:String = "小花"
var age:Int = 18
// 方法
// 定义方法和定义函数一致
def sayHello():Unit = {
println(s"我是${age}岁的${name}")
}
}
def main(args: Array[String]): Unit = {
// 2.创建对象(实例化对象)
// 对象名 = new 类名()
val st1 = new Student()
// 通过 对象、属性名来访问属性
println(st1.name)
//通过 对象、方法名() 来调用方法
st1.sayHello()
//val st2 = new Student()
//println(st2)
}
}
Triangle表示一个三角形类 Triangle(边长3,边长4,边长5)
object bais02 {
class Student(var name:String = "小花", var age: Int = 18) {
// 方法
// 定义方法和定义函数一致
def sayHello(): Unit = {
println(s"我是${age}岁的${name}")
}
}
def main(args: Array[String]): Unit = {
// nem Student()
// 1. 调用构造器,第5行
//new Student("小明",19)
// 2. 没有传入相关参数,使用默认值
val st1 = new Student()
println(st1.name)
// 1.调用构造器,第5行
// 2.传入相关参数
val st2 = new Student("小明",19)
println(st2)
}
}
object bais04 {
// 可以在两个地方写属性
// 1.构造器的参数列表
// 2.构造器内部
// 构造器的参数列表
// 1.val 表示不可以被修改的属性
// 2. var 表示可以被修改的属性
// 3.没有修饰符,不是对象属性,无法访问
class Triangle(val a:Double,var b:Double,c:Double) {
val d:Int =1
val e:Int =2
}
def main(args: Array[String]): Unit ={
val t =new Triangle(1,2,3)
t.b=2
}
}
// 主构造器
class User(val phone: String, var pwd: String) {
var email: String = ""
var name: String = ""
// 辅构造器
constructor(email: String, name: String,pwd:String){
// 调用一次主构造器
this("", pwd)
// 再对其他的属性赋值
this.name = name
this.email = email
}
// 辅构造器
constructor(email: String, name: String, pwd: String, phone: String) {
// 调用一次主构造器
this(phone, pwd)
// 再对其他的属性赋值
this.name = name
this.email = email
}
fun say(): Unit {
println("我的信息如下:")
println("姓名:${name}")
println("手机号:${phone}")
println("邮箱:${email}")
println("密码:${pwd}")
}
}