实例详解scala类成员变量

scala里面类成员变量究竟是解析为class文件的呢?让我们一探究竟

父类:

package scala

class Parent(id:String) {

}

子类:

package scala

class Children(defaultValue:String,

              val valValue:String,

              var varValue:String,

              id:String)extends Parent(id) {

}

编译为class文件,使用jd-jui来反编译class文件结果如下,

图一


图二


可以看到不加修饰符的parent的id,解析成class文件的时候并不是parent的成员变量,只是一个构造方法的参数,val的变量,默认生成"get"方法,var的变量回生成”get,set“,方法。

思考:当parent的id为var时,子类的id需要怎样修改,才能使scala 编译通过?

你可能感兴趣的:(实例详解scala类成员变量)