天天看點

《Java從入門到精通》“基本概念“學習心得1

目錄

​​一、Java基本概念​​

​​面向對象程式設計的 3 個主要特征:封裝性、繼承性、多态性。​​

​​ 封裝性(encapsulation):​​

​​繼承性:​​

​​多态性:​​

​​拓展​​

​​JDK和SDK差別​​

一、Java基本概念

Java是一種進階的面向對象的程式設計語言,對于沒接觸過這方面的同學學起來有好處,也有壞處,關鍵還是看你想怎麼學。

Java 語言的文法與 C 語言和 C++ 語言很接近,是以使得大多數程式員很容易學習和使用。另一方面,Java 丢棄了 C++ 中很少使用的、很難了解的、令人迷惑的那些特性,如操作符重載、多繼承、自動的強制類型轉換。Java簡化了代碼流程,優化了結構,限制沒有C語言那麼多,但某些方面又更加的開放。特别地,Java 語言不使用指針,而是引用。并提供了自動配置設定和回收記憶體空間,使得程式員不必為記憶體管理而擔憂。

了解完這些,下面我們再來了解一下面向對象的三個主要特征:

面向對象程式設計的 3 個主要特征:封裝性、繼承性、多态性。

 封裝性(encapsulation):

封裝是一種資訊隐蔽技術,它展現于類的說明,是對象的重要特性。封裝使資料和加工該資料的方法(函數)封裝為一個整體,以實作獨立性很強的子產品,使得使用者隻能見到對象的外特性(對象能接受哪些消息,具有哪些處理能力),而對象的内特性(儲存内部狀态的私有資料和實作加工能力的算法)對使用者是隐蔽的。封裝的目的在于把對象的設計者和對象的使用者分開,使用者不必知曉其行為實作的細節,隻須用設計者提供的消息來通路該對象。簡單來說呢,就是你去超市買薯片,肯定是包裝起來的對吧,這個包裝就相當于封裝。

繼承性:

繼承性是子類共享其父類資料和方法的機制。它由類的派生功能展現。一個類直接繼承其他類的全部描述,同時可修改和擴充。繼承具有傳遞性。繼承分為單繼承(一個子類有一父類)和多重繼承(一個類有多個父類)。類的對象是各自封閉的,如果沒繼承性機制,則類的對象中的資料、方法就會出現大量重複。繼承不僅支援系統的可重用性,而且還促進系統的可擴充性。

多态性:

對象根據所接收的消息而做出動作。同一消息被不同的對象接受時可産生完全不同的行動,這種現象稱為多态性。利用多态性使用者可發送一個通用的資訊,而将所有的實作細節都留給接受消息的對象自行決定,如是,同一消息即可調用不同的方法。例如:同樣是 run 方法,飛鳥調用時是飛,野獸調用時是奔跑。多态性的實作受到繼承性的支援,利用類繼承的層次關系,把具有通用功能的協定存放在類層次中盡可能高的地方,而将實作這一功能的不同方法置于較低層次,這樣,在這些低層次上生成的對象就能給通用消息以不同的響應。在 OOPL 中可通過在派生類中重定義基類函數(定義為重載函數或虛函數)來實作多态性。

如果大家對于Java的發展曆程有興趣的話,可以自行了解,我在這裡補充一個小知識

ava語言其實是有個曾用名的~叫Oak,而且起這個名字的時候也是很随心的,隻是因為看到了視窗外的一顆橡樹(隻是因為面向窗外多看了你一眼~),是以就叫為Oak,但Oak這個名字已經被注冊。最後他們以Java這個名字命名了這個語言,據說是Sun公司的程式猿們都很喜歡喝咖啡,而且對爪哇島的一種咖啡印象很深,是以就有了Java這個經典的名字和咖啡的圖示。

拓展

  • JDK(Java Development Kit ):編寫Java程式的程式員使用的軟體
  • JRE(Java Runtime Environment):運作Java程式的使用者使用的軟體
  • Server JRE (Java SE Runtime Environment):服務端使用的 Java 運作環境
  • SDK(Software Development Kit):軟體開發工具包,在Java中用于描述1998年~2006年之間的JDK
  • DAO(Data Access Object):資料通路接口,資料通路,顧名思義就是與資料庫打交道
  • MVC(Model View Controller):模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟體設計典範,用于組織代碼用一種業務邏輯和資料顯示分離的方法

JDK和SDK差別