相似文章:java
Java静态内部类.net
public class InnerClassJava { private int a; public class Inner { public void hello() { System.out.println(InnerClassJava.this.a); } } public static class Inner2 { public void hello2() { // System.out.println(InnerClassJava.this.a); } } public static void main(String... args) { InnerClassJava innerClassJava = new InnerClassJava(); Inner inner = innerClassJava.new Inner(); Inner2 inner2=new Inner2(); View view = new View(); view.setOnClickListener(new OnClickListener() { public void onClick() { } }); } }
非静态内部类是持有外部类的状态的,所以在它内部能够持有外部类的私有对象,code
而静态内部类不能够,对象
它们的声明也不同:blog
public static void main(String... args) { InnerClassJava innerClassJava = new InnerClassJava(); Inner inner = innerClassJava.new Inner(); Inner2 inner2=new Inner2(); View view = new View(); view.setOnClickListener(new OnClickListener() { public void onClick() { } }); }