吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 979|回复: 0
收起左侧

[学习记录] scala学习笔记Day-1

[复制链接]
dr20 发表于 2021-11-29 19:50

Scala学习笔记Day-1

概述

ScalaScalable Language 的简写,是一门多范式的编程语言,具有面向对象、函数式编程、静态类型、扩展性、并发性的特性

Scala 语言特点:

Scala是一门以Java虚拟机(JVM)为运行环境并将面向对象和函数式编程的最佳特性结合在一起的

静态类型编程语言(静态语言需要提前编译的如:Javacc++等,动态语言如: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
*/

/**
文档注释
*/

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 18:37

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表