程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> java中匿名內部類解讀分析

java中匿名內部類解讀分析

編輯:JAVA編程入門知識

這段時間在看android,看到了java裡面的匿名內部類,在印象當中.net裡面不支持匿名內部類。

匿名類是不能有名稱的類,所以沒辦法引用它們。必須在創建時,作為new語句的一部分來聲明它們。這就要采用另一種形式的new語句,如下所示:
new <類或接口> <類的主體>
這種形式的new語句聲明一個新的匿名類,它對一個給定的類進行擴展,或者實現一個給定的接口。它還創建那個類的一個新實例,並把它作為語句的結果而返回。要擴展的類和要實現的接口是new語句的操作數,後跟匿名類的主體。如果匿名類對另一個類進行擴展,它的主體可以訪問類的成員、覆蓋它的方法等等,這和其他任何標准的類都是一樣的。如果匿名類實現了一個接口,它的主體必須實現接口的方法。

如:

  • interface pr
  •      void print1(); 
  • public  class noNameClass  
  • {
  •   public pr dest() 
  •   { 
  •       return   new pr(){ 
  •           public  void print1() 
  •          {
  •             System.out.println("Hello world!!");
  •           }
  •      };
  • public    static    void main(String args[])
  •        noNameClass c=new noNameClass();
  •        pr hw=c.dest();
  •        hw.print1();
  •     } 

pr也可以是一個類但是你外部調用的方法必須在你的這個類或接口中聲明外部不能調用匿名類內部的方法

摘自:http://blog.sina.com.cn/s/blog_62ea4cf40100mubj.html

android中點擊事件

Button btn=(Button)this.findViewById(R.id.button1);   

btn.setOnClickListener(new Button.OnClickListener(){

   @Override    

   public void onClick(View v) {    

          // TODO Auto-generated method stub     

     }     

 });

 new 是建立一個 Button.OnClickListener對象 ,後面一個 {}
表示這個括號中的操作作用於這個默認的對名象,而上面的Java程序中後面是一個函數體。
這個用法的作用是:創建一個對象的實例,並且 override
它的一個函數。它是對 OnClickListener
接口的一個實現。

android多線程中

 private Runnable mRunnable = new Runnable()
    {
  @Override
  public void run() {
   // TODO Auto-generated method stub

    try
    {
     Thread.sleep(5000);
     mHandler.sendMessage(mHandler.obtainMessage());
    }
    catch(InterruptedException e)
    {

    }

  }
    };
   public Handler mHandler = new Handler()
    {
     public void handleMessage(Message msg)
     {
      super.handleMessage(msg);
      Reflesh();
     }
    };

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved