Scala学习笔记Day-1
概述
Scala 是 Scalable Language 的简写,是一门多范式 的编程语言,具有面向对象、函数式编程、静态类型、扩展性、并发性的特性
Scala 语言特点:
Scala 是一门以Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的
静态类型编程语言(静态语言需要提前编译的如:Java 、c 、c++ 等,动态语言如:js )。
1)Scala是一门多范式 的编程语言,Scala支持面向对象 和函数式编程 。(多范式 ,就是多种编程方
法的意思。有面向过程 、面向对象 、泛型 、函数式 四种程序设计方法。)
2)Scala源代码(.scala)会被编译成Java字节码(.class),然后运行于JVM之上,并可以调用现有
的Java类库,实现两种语言的无缝对接。
3)Scala单作为一门语言来看,非常的简洁高效。
object Hello {
def main(args: Array[String]): Unit = {
println("hello scala")
}
}
Scala完全面向对象,故Scala去掉了Java中非面向对象的元素,如static关键字,void类型
1)static
Scala无static关键字,由object实现类似静态方法的功能(类名.方法名)。
2)void
对于无返回值的函数,Scala定义其返回值类型为Unit类
Scala程序反编译:
1)Hello源代码
object Hello {
def main(args: Array[String]): Unit = {
println("hello,scala")
}
}
2)Hello.class类
public final class Hello{
public static void main(String[] paramArrayOfString) {
Hello$.MODULE$.main(paramArrayOfString);
}
}
3)Hello$.class类
public final class Hello$ {
public static final MODULE$;
static
{
new ();
}
public void main(String[] args) {
Predef..MODULE$.println("hello,scala"); }
private Hello$(){
MODULE$ = this;
}
}
(1)Object编译后生成Hello$.class和Hello.class两个文件
(2)Hello中有个main函数,调用 Hello$ 类的一个静态对象MODULES$
(3)Hello$.MODULE$. 对象是静态的,通过该对象调用Hello$的main函数
注释
// Hello Scala 单行注释
/*
*多行注释
*Hello Scala
*Hello Scala
*/
/**
文档注释
*/
|