簡體   English   中英

為什么接口變量是公開的

[英]Why are interface variables public

我知道 Java 接口變量默認是 public static 和 final 的。

通過看到這個討論,我明白了為什么它們是靜態的和最終的

但我沒有解釋為什么默認情況下接口變量是公開的。

如果有人知道為什么接口變量總是公開的以及為什么我們不能在接口中使用受保護或默認變量的原因,請解釋一下。

請不要讓我用谷歌搜索它,因為我已經用谷歌搜索了兩個多小時,任何網站都沒有明確解釋為什么默認情況下變量是公開的。

我也看過下面的博客,但沒有關於我的查詢的明確信息。

接口是“行為藍圖”。 與類不同,它們不應該(也不應該)有狀態。

由於實例變量表示對象的狀態,接口沒有實例變量(它們是私有的或公共的)。 由於私有靜態變量代表類的狀態,因此它們也沒有私有靜態變量。

接口具有使用類需要與外部通信的功能。 通過它,您可以擁有幾個不同的類,它們都具有相同的調用類功能。

現在,如果您在接口中創建一個變量,如果該變量不是公共的,它會帶來什么? 接口用於概括與其他類的通信,如果變量或函數不是公共的,則不能從其他類中使用。 我希望這會幫助你。

接口設計為對象之間的通信方式。 這就是為什么所有方法都必須是公開的。 這只是一種設計選擇。

編輯:正如@jwenting 所建議的,最好說這是一個核心架構選擇,而不是一個設計選擇。

暫無
暫無

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

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