java中的内部类在什么场合下使用呢?

2025-03-01 19:24:48
推荐回答(5个)
回答1:

内部类可以访问所属类的私有属性
内部类分为匿名内部类和非匿名内部类,非匿名内部类又分为static和非static,给几个例子吧
匿名内部类:
new Thread(new Runable(){
public void run(){/*code here*/}
});
button.addListener(new ActionListener(){
public void actionPerformed(Event e){/*code here*/}
});
非匿名非static内部类:
上面的例子如果想复用Runable或者ActionListener就可以把匿名的转化成非匿名的
非匿名static内部类
java.util包中的Map.Entry就Map的static内部类,可以体会下为什么这么设计

回答2:

一般是Listener会被定义成内部类。

回答3:

比如说当你做C/S开发时,你得所有的监视器等都是在内部类中实现的

回答4:

这个要看具体需要~~不过我知道有两个地方内部类可以说是必须的
一个是设计模式里的工厂模式~
还有swing里添加按钮的监听事件

回答5:

swing里面比较常用。或者内部类只在该类中被使用的时候也可以