import scala.reflect.runtime.universe._
class Spark
trait Hadoop
object Flink
class Java {
class Scala
}
/**
* 实例获取类用getClass
* 类获取用classOf
*/
object Type_Advanced {
def main(args: Array[String]): Unit = {
// println(typeOf[Spark]) //报错
println(classOf[Spark])
val spark = new Spark
println(spark.getClass)
println(classOf[Hadoop])
println(Flink.getClass) //class Flink$ 说明object是有对应的类的
// println(classOf[Flink]) //报错,找不到类,
val java1 = new Java
val java2 = new Java
val scala1 = new java1.Scala
val scala2 = new java2.Scala
println(java1.getClass)
println(java2.getClass)
// println(typeOf[java1.Scala]) //报错,找不到类
// println(typeOf[java2.Scala])
println(classOf[List[Int]])
}
}scala进阶25-获取类型(类、对象、object、trait)
最新推荐文章于 2025-08-16 12:32:00 发布
本文通过具体的Scala代码示例介绍了如何使用getClass和classOf来获取运行时类型信息。文章展示了不同场景下这两种方法的应用,并解释了它们之间的区别。
6716

被折叠的 条评论
为什么被折叠?



