Scala初识

1.scala简介

是一种多范式的编程语言,其设计的初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台(Java虚拟机)并兼容现有的Java程序。

scala特点 

1.Scala是面向对象

Scala是一种纯粹的面向对象语言,每一个值都是对象。对象的数据类型以及行为由类和特征来描述,类抽象机制的扩展通过两种途径实现,一种是子类继承,另一种是混入机制,这两种途径都能够避免多重继承的问题。

2.Scala是函数式编程

Scala也是一种函数式语言,其函数可以作为值来使用。Scala提供了轻量级的语法用于定义匿名函数,支持高阶函数,允许嵌套多层函数,并支持柯里化。

3.Scala是静态类型(即类型一旦定义将无法改变)

Scala具备类型系统,通过编译时检查,保证代码的安全性和一致性。类型系统支持的特性包括泛型类、注释、类型上下限约束、类别和抽象类型作为对象成员、复合类型、引用自己时显示指定类型、视图、多态方法。    

4.Scala是可扩展的

在实际开发中,某个特定领域的应用程序开发往往需要特定领域的语言扩展。Scala提供了许多独特的语言机制,它以库的方式能够轻易无缝添加新的语言结构。

5.Scala是可以交互操作的

Scala旨在与流行的Java Runtime Environment(JRE)进行良好的交互操作。Scala用scalac编译器把源文件编译成Java的class文件(即在JVM上运行的字节码)。我们可以从Scala中调用所有的Java类库,也同样可以从Java应用程序中调用Scala的代码。

2.scala 环境搭建

增加Scala插件

在idea的左上角找到【File】->【settings】->【Plugins】,在右边搜索scala插件,点击安装,安装完毕后重启(如果需要)。

Scala初识_第1张图片

 创建一个项目,在其中加入以下依赖。


    org.scala-lang
    scala-library
    2.11.12



    org.scala-lang
    scala-compiler
    2.11.12



    org.scala-lang
    scala-reflect
    2.11.12

并在build->plugins->plugin下加入编译Scala的插件


    org.scala-tools
    maven-scala-plugin
    2.15.2
    
        
            
                compile
                testCompile
            
        
    

第一个scala程序

package com.bigdata.scala

//在class定义的只是普通方法,需要用类的对象才能调用,即new
class Demo01HelloWorld {
  def printScala(): Unit = {
    println("Hello Scala3!!")
  }
}

//在Scala里object里的方法是静态的,声明的是类对象,所以通过object直接运行,直接通过类对象进行调用
object Demo01HelloWorld{
  def printScala():Unit={
    println("Hello Scala2!!")
  }

  def main(args: Array[String]): Unit = {
    System.out.println("Hello Scala1!!")
    Demo01HelloWorld.printScala()  //静态方法直接调用
    val world = new Demo01HelloWorld()
    world.printScala()  //类的方法调用

    //在scala调用java类的对象,要放在同一个包下
    val value = new Demo01HelloWorldJava()
    value.printHello()
  }
}

在scala中,object中的方法,变量是静态的

class中的变量和方法都是普通变量。

java和scala之间的类可以相互调用。

你可能感兴趣的:(Scala,scala,java,开发语言)