java 巢狀類
阿新 • • 發佈:2020-08-11
簡介
以前不怎麼理解巢狀類是什麼意思。
感覺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(); } } }