Scala 类型检查和转换

(1)obj.isInstanceOf[T]:判断 obj 是不是 T 类型。

(2)obj.asInstanceOf[T]:将 obj 强转成 T 类型。

(3)classOf 获取对象的类名。

复制代码
 1 package chapter06
 2 
 3 object Test17_Extends {
 4   def main(args: Array[String]): Unit = {
 5     // 1. 类型的检测和转换
 6     val student: Student17 = new Student17("alice", 18)
 7     student.study()
 8     student.sayHi()
 9     val person: Person17 = new Student17("bob", 20)
10     person.sayHi()
11 
12     // 类型判断
13     println("student is Student17: " + student.isInstanceOf[Student17])
14     println("student is Person17: " + student.isInstanceOf[Person17])
15     println("person is Person17: " + person.isInstanceOf[Person17])
16     println("person is Student: " + person.isInstanceOf[Student17])
17 
18     val person2: Person17 = new Person17("cary", 35)
19     println("person2 is Student17: " + person2.isInstanceOf[Student17])
20 
21     // 类型转换
22     if (person.isInstanceOf[Student17]){
23       val newStudent = person.asInstanceOf[Student17]
24       newStudent.study()
25     }
26 
27     println(classOf[Student17])
28 
29     // 2. 测试枚举类
30     println(WorkDay.MONDAY)
31   }
32 }
33 
34 class Person17(val name: String, val age: Int){
35   def sayHi(): Unit = {
36     println("hi from person " + name)
37   }
38 }
39 
40 class Student17(name: String, age: Int) extends Person17(name, age){
41   override def sayHi(): Unit = {
42     println("hi from student " + name)
43   }
44   def study(): Unit = {
45     println("student study")
46   }
47 }
48 
49 // 定义枚举类对象
50 object WorkDay extends Enumeration {
51   val MONDAY = Value(1, "Monday")
52   val TUESDAY = Value(2, "TuesDay")
53 }
54 
55 // 定义应用类对象
56 object TestApp extends App {
57   println("app start")
58 
59   type MyString = String
60   val a: MyString = "abc"
61   println(a)
62 }
复制代码

 

posted @   靠谱杨  阅读(68)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2021-01-18 Android开发 活动activity

喜欢请打赏

扫描二维码打赏

了解更多

点击右上角即可分享
微信分享提示