行到水穷处,坐看云起时
发布时间:2015-05-25 23:03:32
泛型:Scala中,泛型定义方式和Java类似,如下:class className[T] (params:){...}其中T为类型参数比如:scala> class Basket[T]defined class Basket可变性:假如Apple是Fruit的子类,那么Basket[Fruit]和Basket[Apple]之间会不会存在父子关系?scala> class Fruit(val name:String, val color:String){.........【阅读全文】
发布时间:2015-04-01 10:34:40
Case classcase class和普通class类似,只是定义的时候以case class开始,而不是class。对于case class,编译器自动添加伙伴object,伙伴object中包含apply和unapply方法,apply提供了简化构造实例的方式(可以省略new关键字),unapply提供了对class实例属性提取的方法。Scala中,对于X(param), x为object名称或者class实.........【阅读全文】
发布时间:2015-03-30 14:07:53
TraitScala中,trait和Java中的接口类似,不同的地方是,trait中可以包含实体方法。定义方式如下:trait traitName {....} 比如:scala> trait Talk { | def hello(name:String) = println("Hello,"+name) | }defined trait TalkScala中,class可以添加trait;如果clas.........【阅读全文】
发布时间:2015-03-27 16:35:18
Scala中,class没有static类型变量,但是提供了单例的object。object类型和class类型类似,不过没有构造函数。示例如下:scala> object Demo { | val n = 10 | def print = println("I'm Mr object Demo") | }scala> Demo.nres30: Int = 10.........【阅读全文】
发布时间:2015-03-27 15:44:27
Class Scala中,class方式定义如下:class className(param:paramType,...){}class 实例化的方法和Java类似,也是用new关键字Scala 中,定义class时候同时定义了class的primary constructor,每个class 的primary constructor就是 class的定义部分: className(param:paramType,...)定义class时,如果传入的.........【阅读全文】