![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
scala
昨夜星辰_zhangjg
Android开发
展开
-
学习Scala:Map初始化过程详解及隐式类型转换
在Scala中, 可以这样初始化一个Map对象:var capital = Map("US" -> "Washington", "France" -> "Paris");这种创建Map对象的方式, 给人一种优雅的感觉, 不得不佩服Scala语言作者的想象力。 但是这种初始化的方式是如何实现的呢? ->是一个操作符吗? 还是一个方法? 如果是一个方法的话, String对象上并没有这个方原创 2014-04-16 18:43:29 · 16780 阅读 · 0 评论 -
学习Scala:Scala中的字段和方法
本文基于class字节码来分析在Scala语言中, 一个类中的字段和方法是如何实现的, 并且对比和java实现方式的区别。首先看一段简单的源码:class FieldMethodTest{ private var i = 0 private val j = 0 def add() : Int = i + j}这个类很简单, 其中有两个字原创 2014-04-02 22:36:29 · 7564 阅读 · 3 评论 -
学习Scala:函数字面量是如何实现的
Scala提拱了强大且简洁的函数式的编程方式。说实话, 到目前为止, 我还没有真正体验到函数式编程的好处, 因为确实缺少这方面的实战经验, 从毕业到现在, 一直在写Java代码。 但是Scala的函数式编程, 一眼看上去就给人简洁的感觉。本文介绍Scala函数式编程中的一个重要内容: 函数字面量。所谓的函数字面量, 说白了就是一段代码, 和Java 8中的lambda表...原创 2014-04-04 00:37:13 · 8481 阅读 · 1 评论 -
学习Scala:从HelloWorld开始
前言最近在学习Scala语言,虽然还没有完全学通, 但是隐约可以体会到Scala的简洁和强大。 它既能让程序员使用函数式编程, 也提供了全面的面向对象编程。 在刚刚开始读《Scala编程》的时候, 刚读了几页, 我就被Scala语言吸引住了, 所以就一直读下去。 在学习的过程中, 也会有一些感悟, 对于一些原理, 也会尽量搞明白。 所以打算一边学习, 一边写博客, 虽然目前还没有深入,原创 2014-04-02 00:53:59 · 20799 阅读 · 10 评论 -
学习Scala:孤立对象的实现原理
在关于Scala的第一篇文章 学习Scala:从HelloWorld开始 中, 我们讲述了Scala的HelloWorld程序的执行原理。在Scala中,程序的入口使用孤立对象来实现, 在这篇博客中, 我们讲述了孤立对象是如何实现程序入口的, 不管Scala和Java的语法差别多大, 只要能以一定的方式实现标准的class文件入口类和入口函数, 就能被JVM执行。感兴趣的读者可以移步这篇博客。 在《Scala编程》这本书中, 把孤立对象和伴生对象都叫做单例对象。孤立对象指的是只有一个使用object关原创 2014-04-10 23:05:41 · 8741 阅读 · 9 评论 -
学习Scala:伴生对象的实现原理
在上一篇关于Scala的文章 学习Scala:孤立对象的实现原理 中, 主要分析了孤立对象是如何实现的。 首先回顾一下。 孤立对象是只有一个object关键字修饰的对象。 该对象会编译成两个class文件, 一个是以孤立对象的名字命名的class, 一个是以孤立对象的名字后面加上一个$字符命名的class, 这个class又叫做虚构类。 源码中的孤立对象中的字段和方法, 都被编译成以孤立对象原创 2014-04-11 19:30:06 · 12694 阅读 · 4 评论