参考:http://blog.csdn.net/historyasamirror/article/details/6049073
使用场景:
1..达到一个多重继承的效果.
说明:内部类和外部类的关系:内部类(除去用static修饰的)可以直接使用其外部类的成员变量以及成员函数,达到一个继承的效果,再加上自身继承基类来达到一个多重继承的效果.如下代码。
public class OuterClass {
//内部类
class InnerClass extends CommonClass{
public void enhanceMethod1(){
System.out.println("before");
super.method1();//调用父类commonClass的函数
method();//调用外部类outerClass的函数
System.out.println("after");
};
}
/***********************************************************************/
public void method(){
System.out.println("method函数");
}
}
2.访问控制,只能通过其外部类来调用
//1.在其他类中 **需要** 通过outerCLass来创建和调用内部类innerClass
InnerClass innerClass = new OuterClass().new InnerClass();
3.事件驱动
直接参考参考:http://blog.csdn.net/historyasamirror/article/details/6049073
一文中最后的代码。