关于内部类

1、静态内部类

静态内部类等同于静态变量;静态内部类能直接访问外部类中的所有静态数据,不能访问实例变量或调用实例方法,但是可以在静态内部类中声明实例方法。

2、实例内部类

实力内部类等同于实例变量;实例内部类可直接访问外部类中所有的数据,实例内部类中不允许有静态声明。

3、局部内部类

局部内部类等同于局部变量,是在方法体中声明的内部类,只能在方法体中使用;局部内部类不可以用public、protected、private修饰;局部内部类访问的本地变量(局部变量)必须被final修饰,访问成员变量无此要求。

4、匿名内部类

当需要用到一个“实现某接口的类对象作为实参”且“此实参不再被二次调用”、“接口方法较少”的时候常会用到内部类。

格式:调用者方法名(new 接口名(){

  匿名类类体代码;//实现接口所有抽象方法

});

匿名内部类优点:在java源代码上可以少定义一个类;缺点:匿名内部类代码不可复用、可读性较差。

posted @ 2015-10-31 22:34  GoQC  阅读(188)  评论(0)    收藏  举报