一、前言
前面学习了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类中的,所以任何类中都可以使用该方法
延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26