刚才我们讲到了scala语言的数据类型和方法的定义,但是我们都是在命令行的方式写的,如果我们开发一个项目或者工程的话,不可能一直这样写代码的,所以肯定需要使用IDE工具,目前来讲scala编辑器有两个是用的比较好的,一个是IDEA , 一个是Eclipse。 大家可以根据个人喜好来选择,我这里会给大家讲IDEA
IDEA的安装包我也会一并发给大家, 安装都是非常简单的,下一步下一步就安装好了的。
刚安装好的时候,默认启动会出现这个界面, 然后大家点击 "skip all and set defaults"
然后我们就要按照scala的插件。
1.安装Scala插件:Configure -> Plugins -> Install plugin from disk -> 选择Scala插件 -> OK -> 重启IDEA
那这样scala插件就安装好了,重启一下IDEA即可使用
那我们上一讲中提到了scala中没有静态方法,但是我们一定要实现静态方法的话,该怎么来做呢?
Scala中有一个object的东西,和java里面的object完全不一样,java中的Object是所有类的超类。 而scala中的object称之为伴生对象, 我们来写一个实现静态方法的代码:
/** * Created by shuilin on 2018/3/1. */ object TestStaticMethod { def main(args: Array[String]) { //静态方法调用,直接通过定义object下面的方法实现 Test.printName("jack") //这种方式定义的方法是面向对象实现。 //采用new 关键字,创建一个实例对象a,其实就是TestStaticMethod类这个模型出来的其中一个实例 val a = new TestStaticMethod val b = new TestStaticMethod b.sayHello("tom") a.sayHello("jack") } } object Test{ def printName(name:String): Unit ={ println("print name is :"+name) } } /** * 什么叫class , class是类,类就像是一个模板,定义一个类之后就像是把一个模板定义好了 * 这里我打一个简单的比方,比如类比喻成车子的模具, * 然后new 一个实例对象的时候,就好像是拿着这个模具生产出来的一辆真实的车 * 我们可以拿着这个模具生产很多量外形和功能一模一样的车,但是每一辆都是一个独立的个体 * * 这个是我认为最好理解的一种面向对象的思想 */ class TestStaticMethod{ def sayHello(name:String): Unit ={ println("hello " + name +",how are you!") } }
大家有没有发现我这次定义的add方法和上一次稍微有些不一样,但是程序并没有报错,对吧。
这是因为scala自身的类型推断的原因,返回值类型不声明的时候,程序会自动推断返回值的类型
当以后阅读spark源代码的时候,大家会看到非常多类似的代码