簡體   English   中英

java 這是什么? “即時”附加方法?

[英]What is this in java? Attaching methods “on the fly”?

我今天看到這樣的事情:

    frame.addWindowListener(new WindowAdapter() {

        public void windowClosing(WindowEvent e) {
            System.exit(0);
        }
    });

以下部分是什么意思?

new AClass(){ this part }

我可以“擴展”並創建此 class 內聯的新實例嗎?

google了一下,不知道叫什么= =

PS:學習java =p

它被稱為“匿名類”......它是實現接口或擴展現有 class(通常是抽象的“適配器”或“幫助器”類)的簡寫方式,無需費心命名它。

您通常在 Swing 代碼中看到它...實現 window 和鼠標偵聽器。

這看起來(從表面上看)像是對該主題的體面討論: http://www.javaworld.com/javaworld/javaqa/2000-03/02-qa-innerclass.html

干杯。 基思。

為了增加波西米亞的答案,這和做這樣的事情是一樣的

class MyWindowAdapter extends WindowAdapter() {

        @Overide 
        public void windowClosing(WindowEvent e) {
            System.exit(0);
        }
}

frame.addWindowListener(new MyWindowAdapter());

它只是一個匿名的內部 class,當你只打算使用該接口實現一次時它很有用,它可能非常有用,否則你將不得不為此創建一個完整的 class。

它被稱為匿名class。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM