内部类实现机制
来源:互联网 发布:dll不兼容windows 编辑:程序博客网 时间:2024/04/28 18:20
package timer;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;
import javax.swing.JOptionPane;
import javax.swing.Timer;
/**
* 内部类,可以通过反射看出程序中实现的机制
*
* 1.不是每个TalkingClock都有一个TimePrinter实例域,TimePrinter对象是由TalkingClock类的方法构造的
* 2.在TalkingClock类中,编译器加了
* static boolean access$0(TalkingClock);
* 将返回作为参数传递给它的对象域beep - 为内部类访问外部类,增加了特权 - 不安全
* 3.在TimePrinter类中,编译器加了
* public timer.TalkingClock$TimePrinter(TalkingClock);
* final timer.TalkingClock this$0;
* 用于引用外围类(TalkingClock)的对象
*/
public class InnerClassTest {
public static void main(String[] args) {
TalkingClock clock = new TalkingClock(3000, true);
clock.start();
JOptionPane.showMessageDialog(null, "Quit program?");
System.exit(0);
}
}
class TalkingClock {
private int interval;
private boolean beep;
public TalkingClock(int interval, boolean beep) {
this.interval = interval;
this.beep = beep;
}
public void start() {
ActionListener listener = new TimePrinter();
Timer timer = new Timer(interval, listener);
timer.start();
}
public class TimePrinter implements ActionListener {
@Override
public void actionPerformed(ActionEvent event) {
Date now = new Date();
System.out.println("At the tone, the time is : " + now);
/**
* if(beep)
* if(access$0(TalkingClock))
* 等价
*/
if(beep) {
Toolkit.getDefaultToolkit().beep();
}
}
}
}
- 内部类实现机制
- JAVA内部类机制
- Java内部类机制
- java内部类机制
- java内部类机制
- java实现内部类
- Java实现内部类
- 内部类实现 LinkedStack
- 内嵌机制其实就是JAVA内部类机制
- Java内部类的实现
- 用内部类实现接口
- 匿名内部类 简单实现
- 内部类实现多重继承
- Java 内部类实现说明
- 匿名内部类实现接口
- 内部类实现多重继承
- java 内部类的实现
- 匿名内部类的实现
- Android之Activity的生命周期
- 专注于操作系统5之引导程序代码
- HDOJ 1238:Substrings 寻找最长子序列 解题报告
- 第二周上机任务1-2---编写递归函数将十进制数转换成二进制数输出
- HDOJ 1239:Calling Extraterrestrial Intelligence Again 解题报告
- 内部类实现机制
- 多线程计数器锁存器---CountDownLatch
- Oracle中TO_DATE格式
- 从地址栏输入到页面显示 -深入探究web运行机制
- HDOJ 1010:Tempter of the Bone 迷宫问题 解题报告
- 简单存储过程示例优化。。。多列取最小值
- linux 数据流重导向
- ASP.NET学习笔记[4] - 无法分析从服务器在通过调用 Response.Write()
- 【Cortex-M0】4 ARM微微控制器的指令集