成员内部类 调用内部类,需通过外部类实例化内部类 Outer o1 = new Outer(); Outer.Inner i1 = o1.new Inner();内部类可以调用外部类的所有属性与方法 public class Outer { private int id = 10; public void out(){ System.out.println("这是外部类的方法"); } public class Inner{ public void in(){ System.out.println("这是内部类的方法"); } public void getID(){//获取外部类的私有属性 System.out.println(id); } } } public class Text { public static void main(String[] args) { Outer o1 = new Outer(); //通过外部类实例化内部类 Outer.Inner i1 = o1.new Inner(); i1.in();//这是内部类的方法 i1.getID();//10 } } 局部内部类 外部类中的方法中的类 public class Outer { //局部内部类 public void method(){ class Inner{ } } } 匿名内部类 class Apple{ public void eat(){ System.out.println(); } } public class Text { public static void main(String[] args) { //没有名字初始化类,不用实例保存到变量中 new Apple().eat(); } }