簡體   English   中英

final 類中的靜態函數是否隱式 final?

[英]Are static functions in a final class implicitly final?

我的問題和這個基本一樣,但是這也適用於static函數嗎?

我想明白:

  1. 編譯器是否將final類中的所有static函數都視為final
  2. final關鍵字添加到final類中的static函數是否有任何影響?

在 final 類中,所有方法也是隱式 final 的,因為使類成為 final 意味着它不能被繼承,因此在子類中不能隱藏或覆蓋它的方法。

因此,實際上您認為 final 類中的靜態方法是 final 是正確的,但這並不是因為它是靜態方法。 因為這門課是final的。

所有靜態函數都是最終的,因此最終類中的那些也是。

編輯:正如您所指出的,聲明一個靜態方法 final 將防止子類通過聲明一個同名方法來隱藏它。 如果一個類是最終的,那么這個屬性並不重要,因為不存在隱藏靜態方法的子類。 從這個意義上說,是的,所有靜態方法都是隱式最終的。

暫無
暫無

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

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