Scala中的隐式类

Scala中的隐式类

隐式类指的是用implicit关键字修饰的类。在对应的作用域内,带有这个关键字的类的主构造函数可用于隐式转换。

隐式类有以下限制条件:

  • 只能在别的trait/类/对象内部定义

  • 构造函数只能携带一个非隐式参数。虽然我们可以创建带有多个非隐式参数的隐式类,但这些类无法用于隐式转换。

  • 在同一作用域内,不能有任何方法、成员或对象与隐式类同名。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.anthony

/**
* @ Description:
* @ Date: Created in 21:18 10/07/2018
* @ Author: Anthony_Duan
*/
object ImplicitClass extends App {

//隐式类指的是用implicit关键字修饰的类。在对应的作用域内,带有这个关键字的类的主构造函数可用于隐式转换。

implicit class Caculator(x: Int) {
def add(a: Int) = a + x
}
println(2.add(3)) //此时Int类型的2 已经多了add方法
}
-------------End Of This ArticleThank You For Reading-------------