public class Outer {
int num=3;
public Outer(){
}
// 在非静态方法中访问
public void outerFun(){
// 1. 创建内部类对象
Outer.Inner inner=new Outer.Inner();
// 2.调用内部类方法
inner.innerFun();
}
// 在静态方法中访问
public static void staticOuterFun(){
// 1 。创建外部类对象
Outer outer=new Outer();
// 2.创建内部类对象
Outer.Inner in=outer.new Inner();
// 通过内部类对象调用
in.innerFun();
}
public static void main(String[] args) {
staticOuterFun();
}
public class Inner{
int num=4;
public Inner(){
}
public void innerFun(){
System.out.println(this.num);
System.out.println(Outer.this.num);
}
}
}
如果是在类的成员位置定义内部类,静态的内部类会自动升级为顶级类。 (独立的类)。 不需要通过
任何的外部类引导。
访问步骤:
a:创建内部类对象。
b:通过内部类对象直接调用内部类的方法。