java,内部类中局部内部类的作用?

来源:百度知道 编辑:UC知道 时间:2024/06/01 11:23:55
内部类中的局部内部类什么作用,在现实编程中?
思路:
比如方法里面定义一个类,是因为出了这个方法这个类就不会被用到了,所以没有必要定义成一个顶层类。

有些类只会用一次嘛,就不用那么麻烦还要单独去写个类了,比如匿名内部类
button.addActionListener(
new ActionListener() {
public void actionPerformed(ActionEvent event) {
}
}
);

上面的括号里写了个匿名类,该类实现了ActionListener接口,因为这个类只在这里用一次,这样写很简单也很明了,学java的都能看得很清晰

比如写个线程
public class Test {
public static void main(String[] args) {
new Thread(
public void run() {
System.out.println("我是线程");
}
).start();
}
}

上面这个例子中如果该线程只需new一次的话也没必要搞出一个完整的类,写个匿名类就可以了,简单明了

就是可以减少一些事件源的判断,而且结构清晰!修改比较容易

内部类的作用往往是为了更oo的思想。
比如说一个飞行员他驾驶飞机(这里假设飞机只有飞行员拥有)
那么飞行员对象中可以声明一个飞机的内部类。这样这个飞机的类只对飞行员是可见的,其他人都将看不到飞机。

一般来说是用大不到的,但是为了实现多重继承以及分布式开发,就要用到。最简单的例子,EJB里项目A要与项目B关联,如果没有局部内部类就没办法关联。