class Student(var name:String,val age:Int) {
println("student......")
def this()={
this("未知",18)
println("辅助构造器被调用了...")
}
def this(age:Int)={
this("未知的",age)
}
def sayHi():Unit={
println(s"我是${name},我今年${age}")
}
}
object eui1 {
def main(args: Array[String]): Unit = {
val stu1 =new Student("小花",18)
stu1.sayHi()
stu1.name="小花花"
stu1.sayHi()
}
}
输出结果
package level2
object eui2 {
class Student(val name:String,val age:Int) {
// private:私有的,不对外公布,不对外发布
private val hobbies:String="躲在被子里面,看恐怖小说"
private def hobby():Unit={
println(s"${hobbies}")
}
def sayHi(): Unit = {
println(s"${name},${age}")
hobby()
}
}
def main(args: Array[String]): Unit = {
val stu=new Student("小花",18)
stu.sayHi()
}
}
输出结果
object eui3 {
//判断类和对象的关系?亲子鉴定?
//方式1 :对象.getClass() //爹
//方式2:对象.isInstanceOf[类] //DNA对比
class Student(){}
class teacher(){}
def main(args: Array[String]): Unit = {
val age:Int=1
val stu=new Student()
println(stu.getClass)
println(age.getClass)
println(stu.isInstanceOf[Student])
println(stu.isInstanceOf[teacher])
}
}
输出结果
object eui4 {
//目标:改进类的代码,让它在println的时候,输出的信息更友好一点
// 重写 toString方法
// (1) override 重写,覆盖
//(2) tostring 方法
class Student(var name :String,var ae:Int) {
override def toString: String = s"姓名:${name}"
}
def main(args: Array[String]): Unit = {
val stu1=new Student("小花",18)
val stu2=new Student("小明",18)
println(stu1)
println(stu2)
}
}
输出结果
object eui5 {
class Student(val id: String, val name: String, val age: Int) {
// 改写 equals 方法
// 在使用 == 判相等时,会自动调用。
// 如果返回true,则相等
// 如果返回false,则不相等
override def equals(obj: Any): Boolean = {
println(s"比较是否相等...... ${this.id},${this.name},")
//把obj当做Student
val other = obj.asInstanceOf[Student]
this.id == other.id && this.name == other.name
}
}
def main(args: Array[String]): Unit = {
val stu1 = new Student("20241001", "小花", 18)
val stu2 = new Student("20241001", "小花", 19)
if (stu1 == stu2) {
println("他们是同一个人")
} else {
println("不是同一个人")
}
}
}
输出结果
object eui6 {
// 链式
//arr1.map(x=>2*x).filter(x=>x>5).foreach(println)
class Student {
def sayHi(): Student = {
println("sayHi")
this
}
def sayHello(): Student = {
println("sayHello")
this // 返回当前对象
}
}
def main(args: Array[String]): Unit = {
val stu1 = new Student()
stu1.sayHi().sayHello()
}
}
输出结果
[成功并不能用一个人达到什么地位来衡量,而是依据他在迈向成功的过程中,克服了多少困难和障碍。]