1. A.isInstanceOf[T]:判断对象A是不是T类型
    2. A.asInstanceOf[T]:将对象A强转成T类型
    3. classOf获取对象的类名 ```scala package test

    object test { def main(args: Array[String]): Unit = { val student1: Student = new Student(“fyl”, 18) val person1: Person = new Student(“abc”, 18) val person2: Person = new Person(“bbb”,20)

    1. //类型检测
    2. println("student1 is Student: " + student1.isInstanceOf[Student]) //true
    3. println("student1 is Person: " + student1.isInstanceOf[Person]) //true
    4. println("person1 is Person: " + person1.isInstanceOf[Person]) //true
    5. println("person1 is Student: " + person1.isInstanceOf[Student]) //true
    6. println("person2 is Student: " + person2.isInstanceOf[Student]) //false
    7. //类型转换
    8. if (person1.isInstanceOf[Student]){
    9. val newStudent = person1.asInstanceOf[Student]
    10. println(classOf[Student]) //class test.test$Student
    11. newStudent.study() //student study
    12. }

    }

    class Person(val name: String, val age: Int) { def sayHi(): Unit = { println(“hi from person” + name) } }

    class Student(name: String, age: Int) extends Person(name, age) { override def sayHi(): Unit = { println(“hi from person” + name) }

    1. def study() = {
    2. println("student study")
    3. }

    } }

    ```