五-3, Scala 类型检查和转换, 枚举类, 应用类,定义新类型

1. 类型检查和转换

用法说明
obj.isInstanceOf[T] 判断obj是不是T类型, 返回布尔值
obj.asInstanceOf[T] 将pbj强转成T类型, 返回的是 包名.类名@地址
classOf[类名]获取对象的类名,返回的是 class 包名.类名
package patternmatchdemo

class Person{
}
object Person {
  def main(args: Array[String]): Unit = {
    val person = new Person
    //(1)判断对象是否为某个类型的实例
    val bool: Boolean = person.isInstanceOf[Person]
    if ( bool ) {
      //(2)将对象转换为某个类型的实例
      val p1: Person = person.asInstanceOf[Person]
      println(p1)
    }
    //(3)获取类的信息
    val pClass: Class[Person] = classOf[Person]
    println(pClass)
  }
}

2. 枚举类和应用类

枚举类: 需要继承Enumeration
应用类: 需要继承App

object他继承了App类,没有写main方法,但是可以生产运行,这是由于App类是Scala自己提供的一个类,它的作用是当object继承它时,不需要写main方法,而是将整个的类看做一个main方法, 可以直接运行

package patternmatchdemo

object Test {
  def main(args: Array[String]): Unit = {
    println(Color.RED)
  }
}
// 枚举类
///注意, Value中的1,2,3是标识用的, 代表是这个value是这个枚举类中的唯一值
object Color extends Enumeration {
  val RED = Value(1, "red")
  val YELLOW = Value(2, "yellow")
  val BLUE = Value(3, "blue")
}

3. Type 定义新类型

  • 使用 type 关键字可以定义新的数据数据类型名称,本质上就是类型的一个别名
object Test {
	def main(args: Array[String]): Unit = {
		type S=String
		var v:S="abc"
		def test():S="xyz"
	}
}
posted @ 2022-05-26 20:30  青松城  阅读(46)  评论(0)    收藏  举报