成员内部类
内部类可以随意使用外部类的成员方法和成员变量,哪怕是这些成员被修饰为private。
外部类不能使用内部类的成员。
内部类对象依赖外部类对象创建
class OuterClass{
innerClass inner=new InnerClass();
public void ouf(){
inner.inf();
}
class InnerClass{
InnerClass(){}
int i=0;
public void inf(){
System.out.println("内部类方法");
}
}
public InnerClass getInstance(){
inner.y=9;
return new InnerClass();
}
public static void main(String args[]){
OuterClass outer=new OuterClass();
outer.InnerClass inner=outer.getInstance();
//outer.InnerClass inner=outer.new InnerClass();
}
}
如果在外部类中定义的成员变量与内部类中的成员变量名称相同,可以用this关键字。
class Outer{
int i=0;
class Inner{
int i=0;
public void print(int i){
i++; //调用的形参i
this.i++; //调用的内部类i
Outer.this.i++;//调用的外部类i
}
}
}
|
|