码迷,mamicode.com
首页 > 其他好文 > 详细

第78讲:Type与Class实战详解

时间:2015-08-07 01:41:15      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

今天来学习下type与class解析

让我们先来看看代码

import scala.reflect.runtime.universe._

class Spark
trait Hadoop
object Flink
class Java{
  class scala
}

object Type_Advanced {
 
  def main(args:Array[String]){
    println(typeOf[Spark])
    println(classOf[Spark])
   
    val spark = new Spark
    println(spark.getClass)
   
    println(classOf[Hadoop])
    println(typeOf[Hadoop])
   
    println(Flink.getClass)//scala中object背后是有具体的类的
   
    val java1 = new Java
    val java2 = new Java
    val scala1 = new java1.scala
    val scala2 = new java2.scala
   
    println(scala1.getClass)
    println(scala2.getClass)
    println(typeOf[java1.scala] == typeOf[java2.scala])
    println(typeOf[java1.scala])
    println(typeOf[java2.scala])
   
    println(classOf[List[Int]] == classOf[List[String]])
    println(typeOf[List[Int]] == typeOf[List[String]])
   
  
   
  }
 
 
}

 

 

类和type比较,type比class更具体。任何数据都有type。但是class是一种数据结构,或数据 结构的抽象;而type更具体。
打印类的type就是包名加类名,但是class打印时在前面得加class
object的getClass是class 包名加类名加$。所以object是有具体的类的
object的classOf报错。
getClass是获得类的子类,
classOf是类型本身

 

 

分享下更多的scala资源吧:

百度云盘:http://pan.baidu.com/s/1gd7133t

微云云盘:http://share.weiyun.com/047efd6cc76d6c0cb21605cfaa88c416

360云盘: http://yunpan.cn/cQN9gvcKXe26M (提取码:13cd)

信息来源于 DT大数据梦工厂微信公众账号:DT_Spark

关注微信账号,获取更多关于scala学习内容

 

第78讲:Type与Class实战详解

标签:

原文地址:http://www.cnblogs.com/qingyuesama/p/4709578.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!