内部类
1.成员内部类:

 
public class ExternalClass { public class InnerClass{ public void innerMethod() { System.out.println("This is the inner class method"); } } public int num; public void externalMethod() { System.out.println("This is the external class method"); InnerClass innerClass = new InnerClass(); innerClass.innerMethod();//这在简介调用内部类里面的方法 } }
public static void main(String[] args) {
//直接调用内部类方法: ExternalClass.InnerClass inner = new ExternalClass().new InnerClass(); inner.innerMethod(); }
内部类的同名变量访问:
public class Outer { int num = 10; public class Inner{ int num = 20; public void innerMethod() { int num = 30; System.out.println(num);//30 System.out.println(this.num);//20 System.out.println(Outer.this.num);//10 } } }
public class TestOuter { public static void main(String[] args) { Outer.Inner inner = new Outer().new Inner(); inner.innerMethod(); } }
2.局部内部类
如果一个类是定义在方法内部的,则是一个局部内部类:
public class Outer { public void outerMethod() { class Inner{ public void innerMethod() { int num = 10; System.out.println(num); } } Inner inner = new Inner(); inner.innerMethod(); }

注意:

匿名内部类:

MyInterface myInterface = new MyInterface() { @Override public void method() { System.out.println("This is an anonymous class!"); } };

 
                    
                
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号