国产宅男网站在线|亚洲A级性爱免费视频|亚洲中精品级在线|午夜福利AA毛

  • <dd id="gf5jf"><th id="gf5jf"></th></dd>

    <cite id="gf5jf"><label id="gf5jf"></label></cite>
  • <div id="gf5jf"><listing id="gf5jf"></listing></div>
    學習啦 > 知識大全 > 知識百科 > 百科知識 > java中什么是內(nèi)部類介紹

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

    時間: 歐東艷656 分享

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

      java內(nèi)部類

      內(nèi)部類學習

      所謂內(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)中的域

      因為安全機制的原因,內(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