Scala快速开发入门

一.顺手拈来的几个常识

Scala 是 Scalable Language 的简写
以java虚拟机(JVM)为运行环境
Scala 是一门多范式 (multi-paradigm) 的编程语言,面向对象 + 函数式编程
(多范式,就是多种编程方法的意思。有哪些编程方法呢?目前说来,有面向过程,面向对象,泛型,函数式四种程序设计方法)
Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有的Java类库
创始人马丁·奥德斯基(Martin Odersky)是编译器及编程的狂热爱好者,Jdk5.0 Jdk8.0的编译器就是马丁·奥德斯基写的
将函数式编程语言的特点融合到JAVA中,由此发明了两种语言(Pizza & Scala)
简洁高效[python也强调这个词]

二.安装

  1. Scala需要Java运行时库,安装Scala需要首先安装JVM虚拟机并配置好,推荐安装JDK1.8
  2. 在http://www.scala-lang.org/ 下载Scala2.11.8程序安装包,并配置环境变量

 三.开发工具

自行下载idea,我们建项目New时会有一系列文件提示,但是并没有Scala,这个是因为没有安装插件,其他框架一个道理,
安装框架:file - setting - plugins -
然后右键项目,Add FrameWork Support选择Scala即可,可以看到External Libraries多了个scala

如果安装框架遇到下载失败的情况
1.file- setting- Appearance & Behavior - System Settings---> updates,去掉Use secure connection的勾选
2.https://plugins.jetbrains.com/ 下载插件,解压之后把lib文件夹向外一层的所有文件放到plugins目录下
[Scala插件百度云链接https://pan.baidu.com/s/1W2oCRsivetdwQNEcjkFm0g]

使用Idea创建一个Scala项目
File - new - Moudle - Scala
或者Create New Project - Scala - IDEA

四.自己写个hello scala

object TestScala {
  //参数名在前,参数类型在后,中间用:
  def main(args: Array[String]): Unit = {
    println("hello scala")
  }
}

使用scalac TestScala.scala可以看到生成了两个class文件,可以使用反编译工具http://jd.benow.ca/进行查看。

(注:scala TestScala这个命令也是有的,可以直接运行而不会产生两个class文件)
反编译并不是100%的还原源代码,可以看到Test..其中第一个.表示$
用java模拟

public class TestScala {

        public static void main(String[] paramArrayOfString) {
            //TestScala..MODULE$.main(paramArrayOfString);
            TestScala$.MODULE$.main(paramArrayOfString);
        }
}

final class TestScala$
{
    public static final TestScala$  MODULE$;

    static
    {
        MODULE$ = new TestScala$();
    }

    public void main(String[] args)
    {
        System.out.println("hello,scala, idea...");
    }
    //private TestScala$() { MODULE$ = this; }

}

object TestScala中TestScala对应的是一个TestScala$的一个静态对象MODULE$

五.关联源码

原来在查看源码时,会有选择download和关联源码,更新idea后没有download,不过关联源码也挺容易,到官网下载对应的源码文件(.tar.gz),idea关联源码时,可以是jar,zip,文件三种格式,所以关联前要进行解压

六.生成文档

scaladoc -d 生成文件放置目录  scala文件

posted @ 2018-12-31 19:14  Hypergroup  阅读(229)  评论(0)    收藏  举报