在成员内部类中,可以访问外部类的所有成员,包括成员变量和成员方法;在外类中,同样可以访问成员内部的变量和方法。
//定义外部类Outer
class Outer{
int m=0; //外部类的成员变量
//定义外部类的成员方法
void test1() {
System.out.println("外部类成员方法");
}
//定义内部类Inner
class Inner{
int n=1;
//1.定义类部类方法,访问外部类的成员变量和方法
void show1() {
System.out.println("外部类成员变量m"+m);
test1();
}
void show2() {
System.out.println("内部类成员方法");
}
}
//2.定义外部类方法,访问内部类的变量和方法
void test2() {
Inner inner=new Inner();
System.out.println("内部类成员变量n="+inner.n);
inner.show2();
}
}
public class Example {
public static void main(String[] args) {
Outer outer = new Outer();
Outer.Inner inner = outer.new Inner();
inner.show1();
outer.test2();
}
}