一、java中内部类的调用:
class OuterClass {…
class InnerClass {…
}
}
调用分为两步:一件事是创建一个内部类的实例innerObject,第二件事是让innerObject绑定outerObject作为其外围类的实例
OuterClass outerObject = new OuterClass();
OuterClass.InnerClass innerObject = outerObject.new InnerClass();
二、java中调用静态嵌套类
class OuterClass {
…
static class StaticNestedClass {
…
}
}
调用:OuterClass.StaticNestedClass nestedObject = new OuterClass.StaticNestedClass();
三、kotlin的内部类
/**
* 内部类,调用成员变量的方式this@OutClass.sex
*/
inner class staticInClass {
//调用成员变量的方式this@OutClass.sex
var sex: String = this@OutClass.sex
//调用方法的方式this@OutClass
fun getScore(score :Int):Int{
return score
this@OutClass
}
}
调用:val demo = OutClass().staticInClass() (注意外部类后面的括号,红色标注的那个部分)
四、kotlin的发嵌套类
class InClass {
var age: Int = 18
}
调用:var iclass = OutClass.InClass()