scala学习笔记(一):scala简介
-
Scalable Language
-
是一门多范式编程语言,就是支持面向对象、函数式编程等多种编程方式。
-
范式:编程方式,比如面向对象,函数式编程
-
-
Scala能够使用Java部分的语法,同时也有自己特有的语法。
-
Scala的类库包含特有的类库和对Java的类库包装后的库。
-
所以Scala需要Java
-
-
Scala通过Scala编译器获得的Class,也是运行在JVM上的。
-
Scala是静态类型编程语言。
Win环境搭建
解压到任意位置,配置SCALA_HOME和PATH环境变量就可以了。
Linux环境搭建
[root@node-1 ins]# mkdir /usr/local/scala [root@node-1 ins]# tar -xvzf scala-2.13.2.tgz -C /usr/local/scala/ [root@node-1 ins]# vim /etc/profile [root@node-1 ins]# source /etc/profile [root@node-1 ins]# scala Welcome to Scala 2.13.2 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_45). Type in expressions for evaluation. Or try :help. scala>
Hello World
//1.object 表示一个伴生对象 //2.HelloScala是对象名字,底层对应真正的类名是HelloScala$ //对象是HelloScala$类的一个静态对象MODULE$ object HelloScala{ //def代表这个是一个方法 //main是方法名字 //args:Array[String]是形参,scala里面参数名放在前面,类型在后面 //:Unit=代表返回值为空 def main(args:Array[String]):Unit={ println("hello,World") } }
-
当我们编写一个Object 时,编译时底层生成两个.class文件,就是HelloScala和HelloScala$
-
真正运行的时,会从HelloScala的Main方法开始执行,然后调用了HelloScala$的方法
-
最后会执行HelloScala的main方法。
-
这样做的目的是把静态和非静态的代码区分开。
编译测试
PS D:\Hoptest\scalatest> scalac HelloScala.scala PS D:\Hoptest\scalatest> scala -classpath . HelloScala hello,World
IDEA第一个程序
-
新建maven项目,增加Scala包,并且设置为Source文件夹
-
add Scala Framework
创建后这里会有依赖注入
-
创建object
package com.rzp.service object demo01 { def main(args: Array[String]): Unit = { println("Hello World On IDEA") } }