class Demo{
static int i = 5;
public static class I1{
public class I2{
public class I3{
public void I3(){//定义一个方法需要有返回类型.
System.out.println("读到我啦");
}
}
}
}
}
class Demo1{
public static void main(String[] args){
//要怎么才能读到I3?
Demo.I1 D1 = new Demo.I1();//拿到I1对象.因为I1是静态的直接被类名调用.
Demo.I1.I2 D12 = D1.new I2();//拿到I2对象,I1下的I2,可以通过I1对象拿到.
Demo.I1.I2.I3 D123 = D12.new I3();//拿到I3对象,I2下的I3,可以通过I2对象拿到.
D123.I3();
}
}
这是一个内部类的嵌套.我想在今后的开发中不会用到这种.但是能帮你理解内部类的思想.
固定的道理:非静态的方法只能通过创建对象才能调用.关键问题在于内部类怎么创建对象.上面是我写的方法.你看一下. |