第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

有人可以幫我解釋一下這段java內(nèi)部類的代碼嗎

有人可以幫我解釋一下這段java內(nèi)部類的代碼嗎

動(dòng)漫人物 2019-03-19 17:14:25
偶爾發(fā)現(xiàn)了一段好玩的java代碼,關(guān)于Java內(nèi)部類的,覺得很有意思,但是想不明白這段代碼是java語法的特性哪?還是別的什么。哪位能給我解釋一下哪~~import java.util.ArrayList;import java.util.List;public class Main {    public static void main(String[] args) {        List<String> lst = new ArrayList<String>() {            @Override            public boolean add(String paramE) {                return super.add("LST-" + paramE);            }            {                add("RMB");                add("USD");                add("AUS");            }        };        for (String str : lst) {            System.out.println(str);        }    }}多謝@brayden的解答,查看了JL定義中的Instance Initializers,了解到這個(gè)是Java語法標(biāo)準(zhǔn)。順便我反編譯了一下,生成的代碼,下面這段匿名方法最終會編譯到這個(gè)內(nèi)部類的構(gòu)造函數(shù)中。{    add("RMB");    add("USD");    add("AUS");}反編譯后的代碼: Mainimport java.io.PrintStream;import java.util.ArrayList;public class Main{  public static void main(String[] paramArrayOfString)  {    ArrayList local1 = new ArrayList()    {      public boolean add(String paramAnonymousString) {        return super.add("LST-" + paramAnonymousString);      }    };    for (String str : local1)      System.out.println(str);  }}Main$1內(nèi)部類import java.util.ArrayList;final class Main$1 extends ArrayList<String>{  Main$1()  {    add("a");    add("45");    add("a");    add("asdfs");  }  public boolean add(String paramString)  {    return super.add("LST-" + paramString);  }}
查看完整描述

1 回答

?
犯罪嫌疑人X

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊

就是做了一個(gè)繼承ArrayList的匿名內(nèi)部類. 一般有時(shí)候我們寫:


new Thread(new Runnable() {

    @Override

    public void run() {

        ...

    }

}).start();

這個(gè)稱為Instance Initializers, 在對象實(shí)例初始化的時(shí)候運(yùn)行. 參見JLS7 8.6節(jié). 你可以在任何類定義里這么寫. 實(shí)際上這段代碼 編譯后會被加入初始化函數(shù)里.

查看完整回答
反對 回復(fù) 2019-04-15
  • 1 回答
  • 0 關(guān)注
  • 287 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號