成员内部类
-
在类的内部定义,与实例变量、实例方法同级别的类。
-
外部类的一个实例部分,创建内部类对象时,必须依赖外部类对象。
public class Testouter i
public static void main(string[] args){
//1创建外部类对象
outer outer=new outer();
//2创建内部类对象
Inner inner=outer.new Inner();
//也可以一步到位 Inner inner = new Outer().new Inner();
//调用内部类方法
inner.method();
}
}
- 当外部类、内部类存在重名属性时,会优先访问内部类属性。
public class Outer {
//外部类属性
private String name = "张三";
//内部类
class Inner{
//内部类有重名属性,需要使用Outer.this访问外部类属性
private String name = "李四";
public void show(){
System.out.println(name);//李四
System.out.println(Outer.this.name);//张三
}
}
}
- 成员内部类不能定义静态成员,但是可以包含静态常量