码迷,mamicode.com
首页 > 其他好文 > 详细

scala关于HelloWorld的简解

时间:2019-06-23 15:39:46      阅读:99      评论:0      收藏:0      [点我收藏+]

标签:fst   假设   入口   存在   public   关键字   可见   就是   静态对象   

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的简解

标签:fst   假设   入口   存在   public   关键字   可见   就是   静态对象   

原文地址:https://www.cnblogs.com/fishperson/p/11072818.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!