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 编译通过?