簡體   English   中英

在Java中調用的這種方法覆蓋是什么?

[英]What is this type of method overriding called in Java?

我是Java的新手,我正在使用新的API。 我遇到了這個方法覆蓋,我不確定這是什么叫:

public void exampleMethod() {
    Button loginButton = new Button("login"){
       public void onSubmit(){
          //submit code here
       }
    };
}

據我所知,這將覆蓋Button類的onSubmit方法。 我以前從未遇到過這種壓倒一切。 它有特定的名稱嗎? 我想了解更多關於它但我找不到它。 到目前為止,我所有的搜索結果都是通過創建一個新類來定期覆蓋,這是我已經熟悉的。

如果有人能指出我正確的方向,我會很感激。

謝謝。

這是一個匿名的內部階級

在上面的示例中,我們不是創建擴展Buttonprivate class ,而是創建Button的子類,並根據其余代碼提供重寫方法的實現。

由於這個新類是動態創建的,因此它沒有名稱,因此是匿名的 因為它是在另一個類中定義的,所以它是一個匿名的內部類。

它可以是一個非常方便的快捷方式,特別是對於Listener類,但如果你被帶走並且內聯方法定義太長,它可能會使你的代碼難以理解。

這是一個匿名的內部階級 基本上它創建了一個新類,它派生自指定的類(在本例中為Button ,盡管您可以使用相同的技術來實現接口)並覆蓋適當的方法。 它也可以包含其他方法,但它們只能在該類中使用。

這個類有相同的方法中獲得最終的局部變量,如果你正在寫一個實例方法它有一個隱含的參考this以及(所以你可以叫你的“主”類的其他方法)。

那是一個匿名的內部階級。

更多信息: 匿名課程

暫無
暫無

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

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