Scala的一點點代碼,入門防丟

直接上代碼:

//
//Scala示例:
class Hello(param: String) {//主構造
  //類成員變量
  var username: String = param;
  //副構造
  def this() = {
    this(null)
  }

  def this(age: Int) = {
    this()
  }
  //定義函數一、返回對象引用
  def Say(message: String): Hello = {
    println(username + " says \"" + message + "\"")
    return this
  }
  //定義函數二
  def Hi(): Unit = {
    Say(username)
  }
}


object Main {
  //
  def main(args: Array[String]): Unit =
  {
    val hi = new Hello()//調用副構造
    println("hello scala", hi.username)
    println(new Hello("Zhangsan").Say("hello").username)
    new Hello(123).Hi()
  }
  //沒搞懂
  def test(code: =>Unit): Unit ={
    println("start")
    code
    println("end")
  }
  //
  test{
    println("when evaluated")
    println("bb")
  }
  //更沒搞懂
  def test1(code: ()=>Unit): Unit ={
    println("start")
    code()
    println("end")
  }
  //
  test1{
    ()=>
    println("when evaluated 1")
    println("bb 1")
  }
}

運行結果:

"C:\Program Files\Java\jdk1.8.0_161\bin\java" "-javaagent:D:\Android\IntelliJ IDEA Community Edition 2017.3.4\lib\idea_rt.jar=53328:D:\Android\IntelliJ IDEA Community Edition 2017.3.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_161\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_161\jre\lib\rt.jar;D:\Android\TestScalaApp\out\production\TestScalaApp;C:\Users\houwenbin\.ivy2\cache\org.scala-lang\scala-library\jars\scala-library-2.12.6.jar;C:\Users\houwenbin\.ivy2\cache\org.scala-lang\scala-reflect\jars\scala-reflect-2.12.6.jar" Main
start
when evaluated
bb
end
start
when evaluated 1
bb 1
end
(hello scala,null)
Zhangsan says "hello"
Zhangsan
null says "null"

Process finished with exit code 0

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章