內部類的幾種樣式

2021-07-25 11:03:44 字數 2124 閱讀 2709

最近在使用activemq的時候,使用的是consumer.setmessagelistener(new messagelistener() {}來非同步接收訊息,所有又複習了一遍內部類

//我想在外部類獲取到這個 message,如何獲取?

consumer.setmessagelistener(new messagelistener() }}

}

package innerclass;

/** * 常規內部類:沒有用static修飾且定義在外部類類體中的內部類。

* new乙個內部類,格式為:外部類.內部類 內部類物件名=【外部類物件名.new 內部類()】,即【new.外部類().new 內部類()】

* @author sailingchao

* */

public class commoninnerclass }

public commoninnerclass()

public void outermethod()

public void getinner()

public static void main(string args)

}

package innerclass;

/** * 靜態內部類:static修飾的內部類;

* new乙個靜態內部類,格式:外部類.內部類 內部類物件名=new【外部類名.內部類()】

* @author sailingchao

* */

public class staticinnerclass

} public static void main(string args)

}

package innerclass;

/** * 區域性內部類:在方法體或語句塊內部定義的類;

* 它不能加任何訪問修飾符,因為它只對區域性塊有效;

* 在定義的方法外不能建立區域性內部類的物件

* @author sailingchao

* */

public class partialinnerclass

} return new innner(); }

public static void main(string args)

}

package innerclass;

import org.omg.corba.public_member;

/** * 匿名內部類

* 1, 定義乙個類的最終目的就是建立它的例項,如果某個類的例項只用乙個,則可以把類的定義和建立放到一起完成,即在定義乙個類的時候,就建立這個類。

* 以這種方法定義的,沒有名字的類就稱之為匿名內部類。

* 2, 匿名內部類的建立格式為:【new classorinte***cename(){}】

* 3, 匿名內部類可以繼承乙個類或實現乙個介面,這裡的classorinte***cename是匿名內部類所繼承的類名或實現的介面名。

* 但匿名內部類不能同時實現乙個介面和繼承乙個類,也不能實現多個介面。如果實現了乙個介面,該類是object類的直接子類。

* 匿名類繼承乙個類或實現乙個介面,不需要extends和implements關鍵字。

* 4, 由於匿名內部類沒有名稱,所以類體中不能定義構造方法,由於不知道類名也不能使用關鍵字來建立該類的例項。實際上匿名內部類的定義、構造、和第一次使用都發生在同樣乙個地方。

* 此外,上式是乙個表示式,返回的是乙個物件的引用,所以可以直接使用或將其複製給乙個物件變數, typename obj=new name(){}

* 同樣,也可以將構造的物件作為呼叫的引數,somemethod(new name(){}

* @author sailingchao

* */

public class anonymousinnerclass

public string tostring()

};} public static void main(string args)

}

JAVA中的幾種內部類

內部類 inner class 就是定義在另外乙個類裡面的類。與之對應,包含內部類的類被稱為外部類。內部類可分為以下幾種 內部類中最常見的就是成員內部類,也稱為普通內部類。我們來看如下 public class helloworld 測試成員內部類 public static void main s...

內部類 內部類的訪問 匿名內部類

內部類 將乙個類定義在另乙個類的裡面,對立面那個類就成為內部類 內建類,巢狀類 定義 當描述事物時,事物的內部還有事物,該事物用內部類來描述。因為內部事務在使用外部事物的內容。舉例子心臟 內部類的訪問規則 1內部類可以直接訪問外部類中的成員,包括私有。之所以可以直接訪問外部類的成員 因為內部類中持有...

內部類 成員內部類 區域性內部類 匿名內部類

public class 外部類 private int num 0 外部類如果要訪問內部類的成員,則需要通過內部類的物件訪問 使用方式 1.外部類使用內部類,主函式再使用外部類 2.通過new的方式 外部類.內部類 物件名 new 外部類 new 內部類 定義在方法內部的類,就是區域性內部類,只有...