scala关于HelloWorld的简解
Posted fishperson
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scala关于HelloWorld的简解相关的知识,希望对你有一定的参考价值。
object HelloScala
//1.def表示一个方法,这是一个关键字
//2.main表示方法名字,表示程序执行的入口
//3.args:Array[String]表示形参。Scala的特点:将参数名写在前面,类型写在后面(go语言中也是一样,java语言中,类型在前,参数名在后)
//4.Array[String]表示类型是一个数组
//5.Unit= 表示该函数的返回值为空(类似java中的void)
//6.println("Hello,scala") 输出
def main(args:Array[String]):Unit=
println("Hello,scala")
//1.object表示一个伴生对象
//2.HelloScala就是对象的名字,它底层真正对应的类名是HelloScala$,对象是HelloScala$类型的一个静态对象MODULE$
//3.当我们编写的一个object HelloScala底层会生成两个.class文件,分别是HelloScala和HelloScala$
//4.scala在运行的时候,流程如下
//(1)先从HelloScala的main开始执行
//public static void main(String[] paramArrayOfString)
// Predef$.MODULE$.main( paramArrayOfString);
//
//(2)然后调用HelloScala$类的方法 HelloScala$.MODULE$.main
//(3)执行了下面的代码
//public void main(String[] args)
// Predef..MODULE$.println("Hello,scala");
//
//scala认为静态和非静态的是两个东西
//所以非静态的就写进class 名字中去,静态的就写进object 名字(和class同名)中去
-------------------------------------------------------------------------------------------------------------
假设我写个java的HelloWorld
public class HelloWorld
public static void main(String[] args)
System.out.println("HelloWorld");
我cmd中用 scala HelloWorld :能运行
但是 我要运行 java HelloScala :抱歉,不能运行
与此可见,编译器之间存在着包含关系(不是全部包含),因为scala类库中有对java类的包中。在Scala简介中画图。
以上是关于scala关于HelloWorld的简解的主要内容,如果未能解决你的问题,请参考以下文章
[大数据从入门到放弃系列教程]在IDEA的Java项目里,配置并加入Scala,写出并运行scala的hello world