共同探讨一下内部类问题 第3点不敢苟同,如果重复出现当然另当别论。BTW:内部类经常在GUI方面中使用 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我建议斑竹去看看 TIJ 2nd ed. charpter 7. 多行性。 Java已经有一个非常优秀的隐藏机制——只允许类成为“友好的”(只在一个包内可见),而不是把它创建成一个内部类。然而,当我们准备上溯造型到一个基础类(特别是到一个接口)的时候,内部类就开始发挥其关键作用(从用于实现的对象生成一个接口句柄具有与上溯造型至一个基础类相同的效果)。这是由于内部类随后可完全进入不可见或不可用状态——对任何人都将如此。所以我们可以非常方便地隐藏实施细节。我们得到的全部回报就是一个基础类或者接口的句柄,而且甚至有可能不知道准确的类型 例子jMenuFileExit.setText("Exit");jMenuFileExit.addActionListener(new Frame_jMenuFileExit_ActionAdapter(this));class Frame_jMenuFileExit_ActionAdapter implements ActionListener { Frame adaptee; Frame_jMenuFileExit_ActionAdapter(Frame adaptee) { this.adaptee = adaptee; } public void actionPerformed(ActionEvent e) { adaptee.jMenuFileExit_actionPerformed(e); }}这个内部类 使结构好看了点好像 而且完全没有必要公开 语法上使用内部类可以完成普通类没法实现的两个功能:1. 提供 protected 和 private 访问控制。2. 提供继承多个类的可能性。Java 语法只允许继承一个类和多个接口,使用内部类可以模拟继承多个类。实践中因为内部类可以自由访问外部类的成员和方法,所以实现callback和一些设计模式非常方便。 java与C#间能传送二进制文件吗 请问有没有netbeans相关的电子书? 接口 List<E> 这个E指的是什么?? 论坛采集程序应该分为几个部分?分别是什么? (比较弱智的问题)如何运行非当前目录的java程序 问对<thinking in java>有深入理解的人的一个问题 paint() repaint()方法 设置背景颜色 java应用程序编译成类文件后,如何在windows系统中运行它? 菜鸟问题:java 的帮助,去那里看 那位好心的兄弟可以提供一个全景漫游的算法? 一道超简单的题
jMenuFileExit.setText("Exit");
jMenuFileExit.addActionListener(new Frame_jMenuFileExit_ActionAdapter(this));
class Frame_jMenuFileExit_ActionAdapter implements ActionListener {
Frame adaptee; Frame_jMenuFileExit_ActionAdapter(Frame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuFileExit_actionPerformed(e);
}
}
这个内部类 使结构好看了点好像 而且完全没有必要公开
1. 提供 protected 和 private 访问控制。
2. 提供继承多个类的可能性。Java 语法只允许继承一个类和多个接口,
使用内部类可以模拟继承多个类。实践中因为内部类可以自由访问外部类的成员和方法,所以实现callback和一些设计模式
非常方便。