public class InterClass { public static void main(String[] args) { Test t = new Test(); // 创建实例内部类对象 Test.Test01 t1 = t.new Test01(); t1.display(); // 访问静态内部类 Test.Test02 t2 = new Test.Test02(); t2.display(); // 调用局部内部类对象 t.doSome(); } } class Test { int y = 20; // 这是一个实例内部类 class Test01 { int x = 10; public void display() { System.out.println("这是一个实例内部类"); // 可以访问外部类成员 System.out.println(x + "+" + y + "=" + (x + y)); } } // 这是一个静态内部类 static class Test02 { public void display() { System.out.println("这是一个静态内部类"); } } public void doSome() { // 这是一个局部内部类 class Test03 { public void display() { System.out.println("这是一个局部内部类"); } } // 创建局部内部类对象 Test03 t3 = new Test03(); t3.display(); } }
public class NoNameClass { public static void main(String[] args) { // 使用匿名内部类 MyMath myMath = new MyMath(); myMath.mySum(new Computer() { public int sum(int x, int y) { return x + y; } },10,20); } } interface Computer { int sum(int x,int y); } class MyMath { public void mySum(Computer c,int a,int b) { int reValue = c.sum(a,b); System.out.println(a + "+" + b + "=" + reValue); } }
详情见: [https://www.runoob.com/java/java-inner-class.html]