(1)外部类和内部类的创建
//外部类 public class Outer { private int id ; public void out(){ System.out.println("这是外部类的方法"); } //内部类 class Inner{ public void in(){ System.out.println("这是内部类的方法"); } } }
内部类的实例化
public class Application { public static void main(String[] args) { Outer outer = new Outer(); //通过这个外部类来实例化这个内部类 Outer.Inner inner = outer.new Inner(); inner.in(); } }
运行结果
(2)内部类可以获得外部类的私有属性
//外部类 public class Outer { private int id = 10 ; //内部类 class Inner{ //获得外部类的私有属性 public void getID(){ System.out.println(id); } } }
public static class Inner{ public void in(){ System.out.println("这是内部类的方法"); } }
//外部类 public class Outer { //内部类 public class Inner{ //局部内部类 public void method(){ class Inner1{ public void in(){ } } } } }
public class Test { public static void main(String[] args) { //没有名字初始化类,不用讲实例保存到对象中 //匿名内部类 new App().eat(); } } class App{ public void eat(){ System.out.println(); } }