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 }
好看请赞,养成习惯:) 本文来自博客园,作者:靠谱杨, 转载请注明原文链接:https://www.cnblogs.com/rainbow-1/p/15819452.html
欢迎来我的51CTO博客主页踩一踩 我的51CTO博客
文章中的公众号名称可能有误,请统一搜索:靠谱杨的秘密基地
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2021-01-18 Android开发 活动activity