大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java培訓 Java培訓教程:面向對象Java技術教程

Java培訓教程:面向對象Java技術教程

更新時間:2019-12-23 14:01:53 來源:動力節點 瀏覽2699次

Java 是面向對象的高級編程語言,類和對象是 Java 程序的構成核心。圍繞著 Java 類和 Java 對象,有三大基本特性:封裝是 Java 類的編寫規范、繼承是類與類之間聯系的一種形式、而多態為系統組件或模塊之間解耦提供了解決方案。

  本文主要圍繞這三大特性介紹一下 Java 面向對象、組件解耦的核心思想。

Java培訓教程:面向對象Java技術教程

  1、面向對象思想

  面向對象編程是當今主流的程序設計思想,已經取代了過程化程序開發技術,Java 是完全面向對象編程語言,所以必須熟悉面向對象才能夠編寫 Java 程序。

  面向對象的程序核心是由對象組成的,每個對象包含著對用戶公開的特定功能和隱藏的實現部分。程序中的很多對象來自 JDK 標準庫,而更多的類需要我們程序員自定義。

  從理論上講,只要對象能夠實現業務功能,其具體的實現細節不必特別關心。

  面向對象有以下特點:

  (1)面向對象是一種常見的思想,比較符合人們的思考習慣;

  (2)面向對象可以將復雜的業務邏輯簡單化,增強代碼復用性;

  (3)面向對象具有抽象、封裝、繼承、多態等特性。

  面向對象的編程語言主要有:C++、Java、C#等。

  2、類和對象的關系

  類:

  對某類事物的普遍一致性特征、功能的抽象、描述和封裝,是構造對象的模版或藍圖,用 Java 編寫的代碼都會在某些類的內部。類之間主要有:依賴、聚合、繼承等關系。

  對象:

  使用 new 關鍵字或反射技術創建的某個類的實例。同一個類的所有對象,都具有相似的數據(比如人的年齡、性別)和行為(比如人的吃飯、睡覺),但是每個對象都保存著自己獨特的狀態,對象狀態會隨著程序的運行而發生改變,需要注意狀態的變化必須通過調用方法來改變,這就是封裝的基本原則。

  3、封裝思想

  核心思想就是“隱藏細節”、“數據安全”:將對象不需要讓外界訪問的成員變量和方法私有化,只提供符合開發者意愿的公有方法來訪問這些數據和邏輯,保證了數據的安全和程序的穩定。

  具體的實現方式就是:

  使用 private 修飾符把成員變量設置為私有,防止外部程序直接隨意調用或修改成員變量,然后對外提供 public 的 set 和 get 方法按照開發者的意愿(可以編寫一些業務邏輯代碼,雖然很少這樣做)設置和獲取成員變量的值。

  也可以把只在本類內部使用的方法使用 private,這就是封裝的思想,是面向對象最基本的開發規范之一。

  在此,我們有必要說一下 Java 的訪問權限修飾關鍵字。Java 中主要有 private、protected、public 和 默認訪問權限 四種:

  public 修飾符,具有最大的訪問權限,可以訪問任何一個在 CLASSPATH 下的類、接口、異常等。

  protected 修飾符,主要作用就是用來保護子類,子類可以訪問這些成員變量和方法,其余類不可以。

  default 修飾符,主要是本包的類可以訪問。

  private 修飾符,訪問權限僅限于本類內部,在實際開發過程中,大多數的成員變量和方法都是使用 private 修飾的。

Java培訓教程:面向對象Java技術教程

  Java 的訪問控制是停留在編譯層的,只在編譯時進行訪問權限檢查,不會在類文件中留下痕跡。

  通過反射機制,還是可以訪問類的私有成員的。

  4、繼承和類實例化過程

  (1)在多個不同的類中抽取出共性的數據和邏輯,對這些共性的內容進行封裝一個新的類即父類(也叫做超類或基類),讓之前的類來繼承這個類,那些共性的內容在子類中就不必重復定義,比如 BaseDAO、BaseAction 等。

  * (2)Java 的繼承機制是單繼承,即一個類只能有一個直接父類。

  * (3)如果子類和父類有同名成員變量和方法,子類可以使用 super 關鍵字調用父類的成員變量和方法,上述使用方式前提是成員在子類可見。

  * 4)在調用子類構造方法時,會隱式的調用父類的構造方法 super()。如果父類沒有無參構造方法,為了避免編譯錯誤,需要在子類構造方法中顯式的調用父類的含參構造方法。

  (5)子類創建時調用父類構造方法:子類需要使用父類的成員變量和方法,所以就要調用父類構造方法來初始化,之后再進行子類成員變量和方法的初始化。因此,構造方法是無法覆蓋的。

  * (6)當子類需要擴展父類的某個方法時,可以覆蓋父類方法,但是子類方法訪問權限必須大于或等于父類權限。

  (7)繼承提高了程序的復用性、擴展性,也是 Java 語言多態特征的前提。

  (8)在實際開發、程序設計過程中,并非先有的父類,而是先有了子類中通用的數據和邏輯,然后再抽取封裝出來的父類。

  我們簡單了解下類的實例化過程

  (1)JVM 讀取指定 classpath 路徑下的 class 文件,加載到內存,如果有直接父類,也會加載父類;

  (2)堆內存分配空間;

  (3)執行父類、子類靜態代碼塊;

  (4)對象屬性進行默認初始化;

  (5)調用構造方法;

  (6)在構造方法中,先調用父類構造方法初始化父類數據;

  (7)初始化父類數據后,顯示初始化,執行子類的構造代碼塊;

  (8)再進行子類構造方法的特定初始化;

  (9)初始化完畢后,將地址賦值給引用

  5、多態、反射和組件解耦

  多態指允許不同類的對象對同一“消息”做出響應。即同一消息可以根據發送對象的不同而采用多種不同的行為方式。可以用于消除類型之間的耦合關系,Spring 的核心就是多態和面向接口編程。

  (1)Java 中可以使用父類、接口變量引用子類、實現類對象;

  (2)在這個過程中,會對子類、實現類對象做自動類型提升,其特有功能就無法訪問了,如果需要使用,可以做強制類型轉換。

  Java 的反射技術和多態特性是框架開發組件解耦的核心,在這方面,Spring 的 IOC 和 DI 為我們提供了一個極好的學習范例,Spring 的 IOC 使用反射技術創建、管理對象,DI 使用多態技術為組件注入依賴對象。

  在沒有學習 Spring 之前,簡單的解決方案是使用一個 .properties 文件保存程序中使用的接口、實現類類型鍵值信息,然后在程序中使用一個全局 Properties 對象保存這些信息,并且使用反射技術把這些實現類初始化、提供一個靜態的方法獲取指定接口的實現類對象,在組件中就可以使用依賴對象的鍵獲取需要的對象。

  這樣的方案帶來的好處就是:當我們需要修改某個組件的實現方式時,比如把之前 JDBC 的 DA 實現改為 Hibernate 實現,只要把這些新的實現類放到 classpath 下,把 .properties 文件對應接口的實現類類型改成新的 Hibernate 實現類,而不需要修改依賴組件的代碼。

Java培訓教程:面向對象Java技術教程

       以上就是動力節點Java培訓機構小編介紹的“Java培訓教程:面向對象Java技術教程”的內容,希望對大家有幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。

       相關文章

  零基礎怎么自學Java,完整版Java學習路線圖

  你還在糾結學Java,是自學還是去培訓班嗎

  一個標準的Java程序員如何進階?

  Java學習路線清單,快速進階Java

  Java編程初學者要如何進階

提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 久久99热精品免费观看k影院 | 欧美韩国日本在线观看 | 亚洲欧美日韩高清中文在线 | 91热成人精品国产免费 | 亚洲欧美乱综合图片区小说区 | 精品久久久久久久九九九精品 | 一区二区日韩欧美 | 欧美乱码 | 国产精品所毛片视频 | 亚洲综合久久久久久中文字幕 | 久久综合99re88久久爱 | 亚洲成人福利 | 国产伦精品一区二区三区免费迷 | 天天添天天干 | 国产乱在线观看视频 | 色综色 | 日本在线播放一区 | 美女天天操 | 无遮挡无遮挡91桃色在线观看 | 日本不卡免费一区 | 2021国产成人综合亚洲精品 | 久久久91 | 久久久久国产精品 | 国产午夜视频在线观看第四页 | 久久综合中文字幕 | jizzjiz熟丰满老妇日本 | 国产午夜永久福利视频在线观看 | 爱久久www.35669| 男女免费在线视频 | 亚洲精品久久 | 在线观看偷拍视频一区 | 韩国女主播一区二区三区视频 | 欧美丰满大乳大屁股毛片 | 9999在线视频 | 中文字幕一区视频 | 亚洲精品一区亚洲精品 | 最新国产精品亚洲 | 狠狠狠狠狠狠狠狠 | 国产日韩欧美亚洲综合首页 | 五月天亚洲婷婷 | 亚洲视频精选 |