匿名物件和匿名類

2021-08-05 23:02:33 字數 1101 閱讀 1452

一,匿名物件

匿名物件:沒有名字的物件:

new car(); //匿名物件其實就是定義物件的簡寫格式。

car c = new car();

c.run();

用匿名物件來書寫以上**:

new car().run();

匿名物件的使用方法:

1 當物件對方法僅進行一次呼叫的時候,就可以簡化成匿名物件。

如乙個 物件需要進行呼叫方法2次,用匿名物件的

new car().run()

new car().run()

這是2個物件分別呼叫了run(),不是乙個物件呼叫了多方法。

2 匿名物件可以作為實際引數進行傳遞。

public static void show(car c)

show(new car());

二,匿名類

匿名類的語法

這裡舉乙個簡單的例子:

runnable hello = new runnable()

}; 乙個匿名類由以下幾個部分組成:

new操作符

runnable:介面名稱。這裡還可以填寫抽象類、普通類的名稱。

():這個括號表示建構函式的引數列表。由於runnable是乙個介面,沒有建構函式,所以這裡填乙個空的括號表示沒有引數。

:大括號中間的**表示這個類內部的一些結構。在這裡可以定義變數名稱、方法。跟普通的類一樣。

三,看乙個例子

匿名物件:

person類:

new person(); 這就是乙個匿名物件

匿名類:

new person();

這就是乙個匿名類

簡單說就是,匿名物件還是乙個物件,它必須有已經寫好的成員變數、屬性、方法

匿名類,在宣告它的物件的時候,才對它進行**的構造(封裝它的成員變數、屬性、方法等)

匿名物件:乙個物件只需要使用一次的時候,通常使用匿名物件

匿名類:比如我們需要乙個監聽類,並且在例項化這個監聽類的時候才需要實現這個監聽類內部的方法,那麼使用匿名類就最方便了

匿名型別與匿名物件

var匿名型別 推斷型別 var可代替任何型別,編譯器會根據上下文來判斷你到底是想用什麼型別,類似 object,但是效率比object高點。我們可以賦予區域性變數推斷 型別 var而不是顯式型別。var 關鍵字指示編譯器根據初始化語句右側的表示式推斷變數的型別。推斷型別可以是內建型別 匿名型別 使...

C 類和物件(三) 匿名型別

var關鍵字,它用於表示隱式型別化的變數。var與 new關鍵字一起使用時,可以建立匿名型別。匿名型別只是乙個繼承自 object 且沒有名稱的類。該類的定義從初始化器中推斷,類似於隱式型別化的變數。如果需要乙個物件包含某個人的姓氏 中間名和名字,則宣告如下 var captain new firs...

C 匿名物件

匿名物件 臨時物件 自動構造,自動析構 c 的建立物件是乙個費時,費空間的乙個操作。有些固然是必不可少,但還有一些物件卻在我們不知道的情況下被建立了。通常以下三種情況會產生匿名物件 1.以值的方式給函式傳參,會產生臨時物件,為方便區分,稱為 引數匿名物件 2.函式需要返回乙個物件時,會產生臨時物件,...