展开
拓展 关闭
订阅号推广码
GitHub
视频
公告栏 关闭

构建scala项目

  • idea安装Scala插件,重启IDE

  • 新建Scala项目

  • 右键src,New,Scala Class,选择Object,输入名称

  • 在main方法中执行1条打印语句

  • 简单说明

/*
   object: 关键字,声明一个单例对象(伴生对象)
 */
object test1 {
  /*
    main 方法:从外部可以直接调用执行的方法
    def 方法名称(参数名称: 参数类型): 返回值类型 = { 方法体 }
   */
  def main(args: Array[String]): Unit = {
    println("hello world")
  }
}
  • 打开编译后文件的文件夹

  • 发现有2个文件

  • 下载jd-gui,下载地址

  • cmd进入jar所在路径,运行jar

  • File,Open File查看反编译的文件

  • test1中有个main函数,调用 test1$ 类的一个静态对象MODULES$

package com.ychen.scala;

import scala.reflect.ScalaSignature;

@ScalaSignature(bytes = "\006\0051:Q\001B\003\t\00211QAD\003\t\002=AQ!F\001\005\002YAQaF\001\005\002a\tQ\001^3tiFR!AB\004\002\013M\034\027\r\\1\013\005!I\021!B=dQ\026t'\"\001\006\002\007\r|Wn\001\001\021\0055\tQ\"A\003\003\013Q,7\017^\031\024\005\005\001\002CA\t\024\033\005\021\"\"\001\004\n\005Q\021\"AB!osJ+g-\001\004=S:LGO\020\013\002\031\005!Q.Y5o)\tIB\004\005\002\0225%\0211D\005\002\005+:LG\017C\003\036\007\001\007a$\001\003be\036\034\bcA\t C%\021\001E\005\002\006\003J\024\030-\037\t\003E%r!aI\024\021\005\021\022R\"A\023\013\005\031Z\021A\002\037s_>$h(\003\002)%\0051\001K]3eK\032L!AK\026\003\rM#(/\0338h\025\tA#\003")
public final class test1 {
  public static void main(String[] paramArrayOfString) {
    test1$.MODULE$.main(paramArrayOfString);
  }
}
  • test1$.MODULE$. 对象是静态的,通过该对象调用test1$的main函数
package com.ychen.scala;

public final class test1$ {
  public static final test1$ MODULE$ = new test1$();
  
  public void main(String[] args) {
    scala.Predef$.MODULE$.print("hello scala");
  }
}
  • 下载源码包,下载地址

  • 查看所有版本

  • 找到自己需要的版本

  • 复制到C:\Program Files\scala-2.13.3\lib目录,解压为 scala-sources-2.13.3 文件夹

  • 查看源码,ctrl + 鼠标左键点击

  • 点击 Attach Sources… -> 选择 C:\Program Files\scala-2.13.3\lib\scala-sources-2.13.3

  • 补充:sbt创建scala项目,点击New Project

  • 选择sbt和Scala版本

  • 新建object

posted @ 2023-11-04 22:38  DogLeftover  阅读(30)  评论(0编辑  收藏  举报