简介

以前不怎么理解嵌套类是什么意思。
感觉java核心编程讲的很好

嵌套类有两个好处:命名控制和访问控制。
如果 LinkedList 类里嵌套了 Iterator 这样使用类的时候
LinkedList::Iterator 这样就不会与其他名为Iterator的类发生冲突。
还有一种是访问控制 如果 Iterator 是 LinkedList 中的私有类,那么LinkedList 就可以访问 Iterator中的所有数据。而不会暴露给其他的代码。

code

package cn;

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;

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 t = new Timer(interval, listener);
		t.start();
	}
	
	public class TimerPrinter implements ActionListener{
		public void actionPerformed(ActionEvent event){
			System.out.println("At the tone, the time is " + new Date());
			if (beep)
				Toolkit.getDefaultToolkit().beep();
		}
	}
}

posted on 2020-08-11 13:47  HDU李少帅  阅读(125)  评论(0编辑  收藏  举报