开发工具
- 直接使用文本开发工具【editplus】
- 将scala代码编写到扩展名为.scala的文件中
- 通过scalac命令对scala进行编译,生成.class文件
- 命令行下 执行scala Hello 可以看到效果
- 注:scala Hello.scala命令可以直接运行Hello.scala程序[但是内部存在编译和运行过程]
HelloScala.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){
// HelloScala$.MODULE$.main(paramArrayOfString);
// }
// 2).然后调用HelloScala$的main方法 HelloScala$.MODULE$.main
// 3).即执行了以下代码。
// public void main(String[] args){
// Predef..MODULE$.println("hello,scala")
// }
// 步骤原因:设计者把静态和非静态分为两部分,认为静态不属于面向对象。
// 为了表示静态的东西,把静态的对象写到object HelloScala{},把非静态的写到class HelloScala{}中
//scala代码 object HelloScala{
//1.关键字def 代表一个方法
//2.main是一个方法名称,表示程序入口
//3.args:Array[String]表示形参,scala的特点是将参数名写在前面,类型写在后面
//4.Array[String]表示类型是一个数组
//5.:Unit = 表示该函数的返回值为空 (Unit 空)
def main(args:Array[String]):Unit = { println("hello,world") } }
将
HelloScala$.MODULE$.main
调用HelloScala$.MODULE$的main方法