[英]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方法。 我以前從未遇到過這種壓倒一切。 它有特定的名稱嗎? 我想了解更多關於它但我找不到它。 到目前為止,我所有的搜索結果都是通過創建一個新類來定期覆蓋,這是我已經熟悉的。
如果有人能指出我正確的方向,我會很感激。
謝謝。
這是一個匿名的內部階級 。
在上面的示例中,我們不是創建擴展Button
的private class
,而是創建Button
的子類,並根據其余代碼提供重寫方法的實現。
由於這個新類是動態創建的,因此它沒有名稱,因此是匿名的 。 因為它是在另一個類中定義的,所以它是一個匿名的內部類。
它可以是一個非常方便的快捷方式,特別是對於Listener
類,但如果你被帶走並且內聯方法定義太長,它可能會使你的代碼難以理解。
這是一個匿名的內部階級 。 基本上它創建了一個新類,它派生自指定的類(在本例中為Button
,盡管您可以使用相同的技術來實現接口)並覆蓋適當的方法。 它也可以包含其他方法,但它們只能在該類中使用。
這個類有相同的方法中獲得最終的局部變量,如果你正在寫一個實例方法它有一個隱含的參考this
以及(所以你可以叫你的“主”類的其他方法)。
那是一個匿名的內部階級。
更多信息: 匿名課程
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.