亚洲高清vr播放在线观看,欧美亚洲精品免费,欧美日韩天堂在线视频,午夜福利小视频

      學(xué)習(xí)啦 > 知識大全 > 知識百科 > 百科知識 > java中什么是內(nèi)部類介紹

      java中什么是內(nèi)部類介紹

      時間: 歐東艷656 分享

      java中什么是內(nèi)部類介紹

        java內(nèi)部類

        內(nèi)部類學(xué)習(xí)

        所謂內(nèi)部類(Inner Class),顧名思義,就是指定義在另外一個類中的類,我們?yōu)槭裁匆@么做呢?為什么不直接定義它而要在別的類中定義一個內(nèi)部類呢?這樣做主要有如下三個原因:

        1. 內(nèi)部類的方法可以訪問它所在的外部類中的所有域,包括私有型別的;

        2. 對于同一個包中的其它類它是隱藏的;

        3. 匿名的內(nèi)部類可以讓我們很方便的定義事件響應(yīng)(call back),這在GUI編程中很常見;

        一.內(nèi)部類(inner class)如何訪問外部類(outer class)中的域

        因為安全機(jī)制的原因,內(nèi)部類通常聲明為private類別,因此,只有在內(nèi)部類所在的外部中才能夠創(chuàng)建內(nèi)部類的對象,對其它類而言它是隱藏的。另外,只有內(nèi)部類才會用到private修飾符,一般的類如果用private修飾符則會報錯。

        下面看如下的代碼:

        Java代碼

        package cn.edu.hust.cm.test;

        import java.awt.event.ActionListener;

        import java.awt.event.ActionEvent;

        import java.awt.Toolkit;

        import javax.swing.JOptionPane;

        import javax.swing.Timer;

        public class InnerClassTest {

        public InnerClassTest() {

        super();

        // TODO Auto-generated constructor stub

        }

        public static void main(String[] args) {

        Court court=new Court(10000,true);

        court.start();

        JOptionPane.showMessageDialog(null,"停止么,CMTobby?");

        System.exit(0);

        }

        }

        class Court{

        public Court(int interval,boolean beep){

        this.interval=interval;

        this.beep=beep;

        }

        public void start(){

        TimerPrinter action=new TimerPrinter();

        Timer t=new Timer(interval,action);

        t.start();

        }

        private int interval;

        private boolean beep;

        private class TimerPrinter implements ActionListener{

        public void actionPerformed(ActionEvent e){

        System.out.println("Cindyelf,would you be my mm?");

        if(beep) Toolkit.getDefaultToolkit().beep();

        }

        }

        }

      245917