Java基礎知識——類的深層結構
在Java中,可以在同一個類中定義兩個或多個共享相同名稱的方法,只要它們的引數宣告不同就可以。當出現這種情況時,這些方法就被稱為過載(overloaded),並且這一過程被稱為方法過載(method overloading).方法過載也是Java支援多型性的方式之一。
當呼叫過載方法時,Java所使用引數的型別和/或數量決定了實際呼叫是哪個版本的方法。因此,過載方法在引數的型別和/或數量方法必須有所區別。雖然過載方法可以返回不同的型別,但是單靠返回型別不足以區分方法的多個版本。當Java遇到對過載方法的呼叫時,簡單地執行方法形參與呼叫中所使用的實參相匹配的版本。
下面是一個演示方法過載的簡單例子:
如果你想學習Java可以來這個群,首先是二二零,中間是一四二,最後是九零六,裡面有大量的學習資料可以下載。
可以看出,test()方法過載了4次。第1個版本沒有采用引數,第2個版本採用一個整型引數,第3個版本採用兩個整型引數,第4個版本採用一個double引數。雖然第4個版本的test()方法還返回一個值,但是這與過載沒有什麼因果關係,因為返回型別在過載版本的判斷中不起作用。
過載建構函式:
引數傳入的深入分析:
請記住:
當將物件引用傳遞給方法時,引用本身是使用值呼叫傳遞的。但是,由於傳遞的值引用一個物件,因此值的副本仍然引用相應實參指向的同一個物件。如果你想學習Java可以來這個群,首先是二二零,中間是一四二,最後是九零六,裡面有大量的學習資料可以下載。
返回物件:
方法可以返回任意型別的資料,包括自己建立的類型別。例如下面的程式中,方法incrByTen()返回一個物件,在該物件中,a的值比呼叫物件中的a的值大10.
遞迴:
訪問控制:
正如前天幾天知識所說的,封裝將運算元據的程式碼和資料連結起來。但是,封裝提供了另外一個重要的特性:訪問控制。通過封裝,可以控制程式的哪些部分可以訪問類的成員。通過控制訪問,可以防止誤用。例如,僅僅通過定義一套良好的資料訪問方法,就可以防止對資料的誤用。因此,如果類的實現正確的話,類就建立了一個可以使用的“黑匣子”,但是其內部工作不允許修改。
類中的 static
類中的 final
巢狀類 與 內部類:
如果你想學習Java可以來這個群,首先是二二零,中間是一四二,最後是九零六,裡面有大量的學習資料可以下載。
相關文章
- Java基礎知識總結Java
- 整理Java基礎知識--Calendar 類Java
- Java基礎知識點總結Java
- Java基礎知識總結-1Java
- Java基礎對反射知識總結Java反射
- 整理Java基礎知識--Number&Math類Java
- java基礎知識Java
- 初識Java Java基礎知識Java
- 公共基礎知識-資料結構-樹資料結構
- Java基礎面試知識點總結Java面試
- java基礎語法知識小結(1)Java
- 計算機系統結構的基礎知識計算機
- Java基礎概念知識Java
- Java基礎知識(二)Java
- java基礎知識點Java
- 《java程式設計基礎》java的基礎知識(三)Java程式設計
- SAP SD基礎知識之組織結構
- Java個人知識點總結(基礎篇)Java
- 【資料結構】棧的基礎知識(無程式碼)資料結構
- 【資料結構】串的基礎知識(無程式碼)資料結構
- 【資料結構】二叉樹的基礎知識資料結構二叉樹
- Python基礎知識架構Python架構
- React 基礎知識總結React
- SpringIOC基礎知識總結Spring
- Rust 基礎知識總結Rust
- 索引基礎知識總結索引
- Java基礎知識點梳理Java
- Java併發--基礎知識Java
- Java基礎知識——異常Java
- JAVA基礎知識補漏Java
- Rust中陣列資料結構基礎知識Rust陣列資料結構
- Java基礎知識回顧之七 —– 總結篇Java
- Java基礎知識回顧之七 ----- 總結篇Java
- 【資料結構】佇列的基礎知識(無程式碼)資料結構佇列
- Java類載入知識總結Java
- 《Java工程師成神之路-基礎篇》Java基礎知識——序列化(已完結)Java工程師
- 【Java基礎知識】Java流程控制Java
- java基礎知識-序列化/反序列化-gson基礎知識Java
- 影像處理的基礎知識(11)——圖層(1)