91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

為什么Java不支持運算符重載

發布時間:2021-12-02 18:41:24 來源:億速云 閱讀:172 作者:柒染 欄目:大數據

本篇文章為大家展示了為什么Java不支持運算符重載,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

為什么 C++ 支持運算符重載而 Java 不支持? 有人可能會說 + 運算符在 Java 中已被重載用于字符串連接,不要被這些論據所欺騙。

與 C++ 不同,Java 不支持運算符重載。  Java 不能為程序員提供自由的標準算術運算符重載,例如+, - ,*和/等。  如果你以前用過 C++,那么 Java 與 C++ 相比少了很多功能,例如 Java 不支持多重繼承,Java中沒有指針,Java中沒有地址引用傳遞。  另一個類似的問題是關于 Java 通過引用傳遞,這主要表現為 Java 是通過值還是引用傳參。  雖然我不知道背后的真正原因,但我認為以下說法有些道理,為什么 Java 不支持運算符重載。  
1) 簡單性和清晰性。
清晰性是Java設計者的目標之一。設計者不是只想復制語言,而是希望擁有一種清晰,真正面向對象的語言。添加運算符重載比沒有它肯定會使設計更復雜,并且它可能導致更復雜的編譯器, 或減慢 JVM,因為它需要做額外的工作來識別運算符的實際含義,并減少優化的機會, 以保證 Java 中運算符的行為。
2) 避免編程錯誤。
Java 不允許用戶定義的運算符重載,因為如果允許程序員進行運算符重載,將為同一運算符賦予多種含義,這將使任何開發人員的學習曲線變得陡峭,事情變得更加混亂。據觀察,當語言支持運算符重載時,編程錯誤會增加,從而增加了開發和交付時間。由于 Java 和 JVM 已經承擔了大多數開發人員的責任,如在通過提供垃圾收集器進行內存管理時,因為這個功能增加污染代碼的機會, 成為編程錯誤之源, 因此沒有多大意義。
3) JVM復雜性。
從JVM的角度來看,支持運算符重載使問題變得更加困難。通過更直觀,更干凈的方式使用方法重載也能實現同樣的事情,因此不支持 Java 中的運算符重載是有意義的。與相對簡單的 JVM 相比,復雜的 JVM 可能導致 JVM 更慢,并為保證在 Java 中運算符行為的確定性從而減少了優化代碼的機會。
4) 讓開發工具處理更容易。

這是在 Java 中不支持運算符重載的另一個好處。省略運算符重載后使語言更容易處理,如靜態分析等,這反過來又更容易開發處理語言的工具,例如 IDE 或重構工具。Java 中的重構工具遠勝于 C++。

上述內容就是為什么Java不支持運算符重載,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

潞西市| 张家口市| 贞丰县| 新乡县| 茂名市| 遵义市| 永寿县| 宁远县| 富裕县| 丰台区| 中山市| 五原县| 玛沁县| 阳谷县| 广平县| 永兴县| 大姚县| 黄石市| 河东区| 济南市| 东兰县| 扶风县| 中卫市| 辽宁省| 隆回县| 绵阳市| 惠东县| 凤凰县| 乳山市| 电白县| 黄山市| 长岭县| 合川市| 乐平市| 辉南县| 布尔津县| 南涧| 汕头市| 朝阳县| 桐庐县| 云浮市|