一、前言

  前面学习了Scala的Methods,接着学习Scala中的Object

二、Object

  Object在Scala有两种含义,在Java中,其代表一个类的实例,而在Scala中,其还是一个关键字,本篇首先将会把object当成一个类的实例看待,展示如何将对象从一种类型转化为另一种类型,之后将展示如何创建单例对象,Scala中还存在包对象,在Scala中,经常有如下定义

type Throwable = java.lang.Throwable
type Exception = java.lang.Exception
type Error = java.lang.Error
type Seq[+A] = scala.collection.Seq[A]
val Seq = scala.collection.Seq

  使用type定义可以使得代码更为简洁,可使用伴生对象来创建静态方法,并且伴生对象可以使得在创建类对象时不需要使用new关键字,如下所示

val siblings = List(Person("Kim"), Person("Julia"), Person("Kenny"))

  2.1 对象转化

  1. 问题描述

  你需要将一个类的实例从一种类型转化为另一种类型,如动态创建对象

  2. 解决方案

  使用asInstanceOf方法进行类型转化,如下的lookup方法返回的对象将给转化为Recognizer对象 

val recognizer = cm.lookup("recognizer").asInstanceOf[Recognizer]

  以上代码在Java中如下 

Recognizer recognizer = (Recognizer)cm.lookup("recognizer");

  asInstanceOf方法是定义在Any类中的,所以任何类中都可以使用该方法

延伸阅读

学习是年轻人改变自己的最好方式-Java培训,做最负责任的教育,学习改变命运,软件学习,再就业,大学生如何就业,帮大学生找到好工作,lphotoshop培训,电脑培训,电脑维修培训,移动软件开发培训,网站设计培训,网站建设培训学习是年轻人改变自己的最好方式