6.什么是内部类?内部类的作用
内部类:在java语言中,可以把一个类定义到另外一个类的内部,在类里面的这个类就叫内部类,外面的类就叫外部类。在这情况下,这个内部类可以看做外部类的一个成员。
内部类可以分为4种:静态内部类,成员内部类,局部内部类,匿名内部类
class outerClass{
static class innerClass{} //静态内部类 有static修饰
}
class outerClass{
class innerClass{} //成员内部类
}
class outerClass{
public void menberFunction{
static class innerClass{} //局部内部类
}
}
public class MyFrame extends Frame{//外部类
public MyFrame(){
addWindowsLister(new WindowsAdapter(){ //匿名内部类
public void windowsClosing(WindowEvent e){
dispose(); System.exit(0);
}
});
}
}
在使用匿名内部类时,需要牢记以下几个原则。
1》内部类没有构造方法
2》匿名内部类不能定义静态成员,方法和类
3》匿名内部类不能是public protected private static
4》只能创建匿名内部类的一个实例
5》一个匿名内部类可以在new后面,这个匿名类必须继承一个父类或实现接口
6》因为匿名内部类为局部内部类,所以局部内部类的所有限制都对其生效
内部类的作用:
1、内部类可以很好的实现隐藏
2、内部类拥有外围类的所有元素的访问权限
3、可以实现多重继承
4、可以避免接口中的方法和同一个类中的方法同名的问题