看个Scala的例子:

package method
/**
 * @author I042416
 */
class booleaMethod {
  private var firstName = ""
  private var lastName = ""
  def this(first: String, last: String) { // this is an Auxiliary constructor
       this() // call primary constructor
       this.firstName = first
       this.lastName = last
  }
 
  def printArgs(args: Array[String]): Integer = {
      args.foreach(println)
      return args.length
     }
 
  def getName( bGetfullName: Boolean): String = {
      if( bGetfullName) {
        this.firstName + " " + this.lastName
      }
      else{
        this.firstName
      }
  }
}
object testBoolean extends App {
  val booleanMethod = new booleaMethod("Jerry", "Wang")
  println(booleanMethod.getName(bGetfullName = false))
  println(booleanMethod.getName(bGetfullName = true))
 
}

Scala语言编译之后生成的Java代码解读

产生一个内部类:

Scala语言编译之后生成的Java代码解读

外部类通过参数$outer传到内部类里

Scala语言编译之后生成的Java代码解读
Scala语言编译之后生成的Java代码解读
Scala语言编译之后生成的Java代码解读
Scala语言编译之后生成的Java代码解读

要获取更多Jerry的原创文章,请关注公众号"汪子熙":
Scala语言编译之后生成的Java代码解读

相关文章:

  • 2022-12-23
  • 2021-05-06
  • 2021-05-09
  • 2021-08-17
  • 2021-06-16
  • 2021-06-22
  • 2021-05-06
猜你喜欢
  • 2022-12-23
  • 2021-10-14
  • 2022-12-23
  • 2021-06-11
  • 2021-07-06
  • 2022-12-23
相关资源
相似解决方案