為什麼Java不支援運算子過載?
當一個類具有兩個或多個同名但引數不同的方法時,在呼叫時,根據傳遞的引數呼叫相應的方法(或相應的方法體將動態地與呼叫行繫結)。這種機制被稱為**方法過載**。
運算子過載
運算子過載是重新定義運算子功能的能力。像c++這樣的程式語言支援運算子過載。
你可以重新定義或過載C++中大多數可用的內建運算子。因此,程式設計師也可以將運算子與使用者定義的型別一起使用。
過載的運算子是具有特殊名稱的函式:“operator”關鍵字後跟被定義的運算子的符號。像任何其他函式一樣,過載的運算子具有返回型別和引數列表。
Java 不支援運算子過載,原因如下:
- 使程式碼複雜 - 在運算子過載的情況下,Java中的編譯器和直譯器(JVM)需要付出額外的努力來了解語句中使用的運算子的實際功能。
- 程式設計錯誤 - 運算子的自定義定義會給程式設計師(尤其是新手開發者)帶來混淆。此外,與支援運算子過載的程式語言相比,使用支援運算子過載的程式語言時,程式錯誤率較高。
- 易於開發IDE之類的工具 - 去除運算子過載的概念使語言處理起來更簡單,從而導致Java中出現大量的整合開發環境。
- 方法過載 - 可以透過在Java中使用方法過載來實現運算子過載的功能,這種方式簡單、無錯誤且清晰。
廣告
資料結構
網路
關係資料庫管理系統(RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP