今天面试遇到Java内部类有几种,我们常见的有设置监听的匿名内部类,静态内部类和普通的内部类,那么其他的呢?我今天就搜集了一下写到下面:
一、分类
1.静态嵌套类(Static Nested Classes)
2.成员内部类(Member Inner Class)
成员类是特定于实例的。它可以访问所有方法,字段和外部类本身的引用。
3.局部方法内部类(Method-Local Inner Classes)
4.匿名内部类(Anonymous Inner Classes)
当您需要给一个GUI应用程序窗口小部件加一个动作监听器时,匿名内部类就会经常被用到。
二、 作用
1.内部类可以很好的实现隐藏
一般的非内部类,是不允许有 private 与protected权限的,但内部类可以
2.内部类拥有外围类的所有元素的访问权限
3.可是实现多重继承
4.可以避免修改接口而实现同一个类中两种同名方法的调用。