国产午夜色司机在线观看,亚洲国产小视频在线观看,国产精品毛片一级久久,欧美高清vivoe,国产指交视频一区之二区,中文字幕在线码一区,18成禁人视频免费网站,影视中文综合国产,在线观看特色大片免费视频,午夜激情成人在线

在java中,Object o = new Object(){};這個(gè)花括號(hào)是干什么的?

時(shí)間:2020-04-02 16:37:15 類(lèi)型:JAVA
字號(hào):    

  右邊是一種匿名內(nèi)部類(lèi)的寫(xiě)法,

  new Object(){}代表匿名內(nèi)部類(lèi)的一個(gè)子對(duì)象,{}內(nèi)的代碼依據(jù)此處“Object”是否包含抽象方法分兩種情況:

  1,若Object為接口或含有抽象方法(抽象類(lèi))、{}內(nèi)必須包含該接口的方法實(shí)現(xiàn)代碼或者說(shuō)重寫(xiě)該抽象類(lèi)的抽象方法(抽象類(lèi)或接口無(wú)法實(shí)例化)

  new Thread(new Runnable(){ //匿名

     public void run(){

         System.out.println("runnable run");

     }

  }).start();

  如上面這段創(chuàng)建線程并start的代碼,new Thread括號(hào)內(nèi)傳入的就是一個(gè)匿名內(nèi)部類(lèi)(匿名對(duì)象)。該匿名內(nèi)部類(lèi)實(shí)現(xiàn)了Runnable接口的run方法,因此可以創(chuàng)建對(duì)象并作為T(mén)hread構(gòu)造函數(shù)的入?yún)?/p>

  2,若Object為普通類(lèi),{}內(nèi)可以重寫(xiě)也可以不重寫(xiě)Object里面的方法。要注意的是,這個(gè)時(shí)候

  new Object(){} 整體作為Object對(duì)象的一個(gè)匿名子類(lèi)對(duì)象

  另外,通常來(lái)說(shuō)這種寫(xiě)法,適用于你想重寫(xiě)某個(gè)父類(lèi)的某個(gè)方法(或?qū)崿F(xiàn)某個(gè)接口的方法)并調(diào)用,但是又不想再創(chuàng)建一個(gè)class類(lèi)來(lái)重寫(xiě)(或?qū)崿F(xiàn))的時(shí)候。通過(guò)以下格式來(lái)定義:

  new 父類(lèi)名/接口名(){ 定義子類(lèi)成員或者覆蓋父類(lèi)方法 }.方法

  只是比較淺顯的回答,具體樓主多翻翻書(shū)看看吧、


<