国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Java面向對象進階第一天

這篇具有很好參考價值的文章主要介紹了Java面向對象進階第一天。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

面向對象高級第一天

static關鍵字

是靜態(tài)的意思,可以修飾成員變量,也可以修飾成員方法

成員變量的分類

  1. 靜態(tài)成員變量

    • 有static修飾,屬于類,與類一起加載,內存中只有一份,可以被共享訪問。

    • 什么時候用呢?如果信息要被共享,只需要一份就用靜態(tài)成員變量,比如:系統(tǒng)在線人數(shù)。

    • 訪問規(guī)則:

      建議用類名訪問:類名.靜態(tài)成員變量

      同一個類中,訪問靜態(tài)成員可以省略類名不寫。

      理論上也可以這樣訪問:對象名.靜態(tài)成員變量(不推薦)

  1. 實例成員變量

    • 無static修飾,屬于對象,每個對象中都存在一份實例成員變量。比如:name age

    • 什么時候用呢?比如:name age,每個對象中都有這些信息,而且信息還不同時,定義成實例成員變量。

    • 訪問規(guī)則:

? ? ? ? ? ? ? ? ? ? 只能用:對象名.實例成員變量。

成員方法的分類

  1. 靜態(tài)成員方法

    • 有static修飾,屬于類,與類一起加載,可以被共享訪問。

    • 什么時候用呢?如果是做一個通用功能,可以用靜態(tài)成員方法。

    • 訪問規(guī)則:

      建議用類名訪問:類名.靜態(tài)方法
      注意:同一個類中,訪問靜態(tài)成員可以省略類名不寫。
      理論上也可以這樣訪問:對象名.靜態(tài)成員方法(不推薦)
    • 靜態(tài)成員方法的應用:工具類

      是什么? 工具類中都是靜態(tài)方法,為了完成一個共用功能
      好處:一次編寫,處處可調,提高代碼的復用性,提高開發(fā)的效率。
      注意:建議把工具類的構造器私有化,因為工具類無需對外創(chuàng)建對象,它的方法都是靜態(tài)方法,直接用類名訪問即可。
  2. 實例成員方法

    • 無static修飾,屬于對象,必須用對象觸發(fā)訪問。

    • 什么時候用呢?如果這個方法屬于對象,而且要直接訪問對象的實例成員,則聲明成實例方法。

    • 訪問規(guī)則:

      只能用:對象名.實例成員方法。

static的應用知識

代碼塊

  • 是什么? 類的5大成分(成員變量、成員方法、構造器、代碼塊、內部類)之一

  • 分類

    1. 靜態(tài)代碼塊:(重點了解一下)

      格式:static {}
      特點:屬于類,與類一起優(yōu)先加載,自動觸發(fā)執(zhí)行一次。
      作用:可以用于在程序啟動時,進行靜態(tài)資源的初始化操作
    2. 實例代碼塊(幾乎不用):

      格式:{}
      特點:屬于對象的,每次調用構造器構建對象前都會執(zhí)行一次,再執(zhí)行構造器。
      作用:可以用于初始化實例資源

單例設計模式

  • 單例是一種設計模式,是為了解決某個問題

  • 單例能解決的問題:保證一個類對外只能產(chǎn)生一個對象。

  • 重點在于如何實現(xiàn)單例:

    1. 餓漢單例

    • 特點:拿對象時,對象已經(jīng)存在

    • 實現(xiàn)步驟:

      /**
      * 餓漢單例設計模式
      */
      public class SingleInstance {
      ? ?// 1.定義一個類,將構造器私有
      ? ?private SingleInstance() {}
      ?
      ? ?// 2.對外提供一個靜態(tài)對象
      ? ?// 餓漢單例是在獲取對象前,就已經(jīng)準備好了一個對象
      ? ?// 這個對象只能通過類名訪問,所以定義成static的
      ? ?public static SingleInstance instance = new SingleInstance();
      }
    1. 懶漢單例

    • 特點:要拿對象的時候,才開始創(chuàng)建一個對象。

    • 實現(xiàn)步驟:

      /**
      * 懶漢單例設計模式
      */
      public class SingleInstance2 {
      ? ?// 2.定義一個靜態(tài)的成員變量負責存儲一個對象,只加載一次,只有一份。
      ? ?// 專業(yè)的做法是:這里私有化,這樣可以避免給別人挖坑
      ? ?private static SingleInstance2 instance2;
      ?
      ? ?// 1.將構造器私有化
      ? ?private SingleInstance2() {}
      ?
      ? ?// 3.對外提供一個靜態(tài)的獲取對象的方法
      ? ?public static SingleInstance2 getInstance2() {
      ? ? ? ?if (instance2 == null) {
      ? ? ? ? ? ?// 第一次來拿對象 :此時需要創(chuàng)建對象。
      ? ? ? ? ? ?instance2 = new SingleInstance2();
      ? ? ? }
      ? ? ? ?return instance2;
      ? }
      }

面向對象的三大特征之二:繼承

繼承概述、使用繼承的好處

  • 什么是繼承? Java允許一個類通過extends與另一個類建立父子關系,這就是繼承。

  • 繼承的格式:

    • 子類 extends 父類

  • 繼承的特點:

    • 子類繼承父類后,就可以得到父類的屬性和行為。

  • 繼承的核心優(yōu)點:

    • 提高代碼的復用性,多個子類的相同代碼可以放在父類中,增強了類的擴展性。

繼承的設計規(guī)范、內存運行原理

  • 設計規(guī)范:子類共用屬性和行為放在父類,子類獨有屬性和行為放在子類自己那里。

  • 內存原理:

    子類對象實際上是由子父類這兩張設計圖共同創(chuàng)建出來的。

繼承的特點

  1. Java是單繼承模式:一個類只能繼承一個直接父類。

  2. Java不支持多繼承、但是支持多層繼承。

  3. Java中所有的類都是Object類的子類。

繼承后:方法重寫

  • 概念:子類重寫了一個聲明與父類一樣的方法,覆蓋父類的方法。子類認為父類的該方法不好用,以后用自己重寫的方法。

  • 重寫方法建議加上一個重寫校驗注解:@Override

    • 作用:要求必須是正確重寫的才不報錯

    • 作用2:可讀性好

  • 重寫的要求:

    1. 重寫方法的名稱和形參列表必須與父類被重寫方法的名稱和形參列表一致(重點)

    2. 私有方法不能重寫

    3. 靜態(tài)方法不能重寫

    4. 重寫方法的權限 >= 被重寫方法的訪問權限。

  • 在重寫的方法中如果想要訪問父類的方法怎么辦呢?

    • super.方法名();

繼承后:成員變量、成員方法的訪問特點

  1. 就近原則

  2. this.子類自己的成員變量

  3. 在子類方法中訪問父類成員怎么辦? super.父類成員變量/父類成員方法

繼承后:子類構造器的特點

  • 特點:子類的全部構造器默認都會先訪問父類的無參數(shù)構造器,再執(zhí)行自己的構造器

  • 為什么呢? 先有爸爸才有兒子。 先調用父類的構造器初始化父類的數(shù)據(jù),再調用自己的構造器初始化自己的數(shù)據(jù)。

  • 代碼層面:默認子類構造器的第一行都有一個super(), 訪問父類的無參數(shù)構造器,寫不寫都有

繼承后:子類構造器訪問父類有參構造器

  • 調用父類有參數(shù)構造器,初始化繼承自父類的數(shù)據(jù)。

  • super(....) 根據(jù)參數(shù)調用父類構造器

this、super使用總結

  • this訪問子類當前對象的成員。

  • super:在子類方法中指定訪問父類的成員。

  • this(...) : 訪問本類兄弟構造器

  • super(...):在本類構造器中指定訪問父類的構造器

  • 注意事項:super(...) 必須放在第一行,this(...) 也必須在第一行。因此2者不能共存一個構造器中。文章來源地址http://www.zghlxwxcb.cn/news/detail-807320.html

到了這里,關于Java面向對象進階第一天的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 黑馬Java——面向對象進階(static&繼承)

    黑馬Java——面向對象進階(static&繼承)

    目錄 1.static靜態(tài)變量 練習1:定義數(shù)組工具類 練習2:定義學生工具類 2.繼承? 練習:繼承的練習(自己設計一個繼承體系) 練習?利用方法的重寫設計繼承結構 練習:帶有繼承結構的標準Javabean類 3.多態(tài)? ?多態(tài)的綜合練習 4.包和final 4.1包 4.2final? 5.權限修飾符和代碼塊 5.1權

    2024年01月25日
    瀏覽(21)
  • Java面向對象進階第四天(常用API)

    API全稱是應用程序編程接口,是Java寫好的程序,程序員可以直接調用。 Object是祖宗類,它里面的方法,一切子類對象都可以使用。 public String toString() 默認是返回當前對象的地址信息。 Student s = new Student(\\\"張三\\\",\\\'女\\\', 23); System.out.println(s.toString()); 返回對象地址 System.out.printl

    2024年01月20日
    瀏覽(23)
  • java基礎入門-05-【面向對象進階(static&繼承)】

    java基礎入門-05-【面向對象進階(static&繼承)】

    類的定義格式如下: 例如: 例如: 1.3.1 封裝的步驟 1.使用 private 來修飾成員變量。 2.使用 public 修飾getter和setter方法。 1.3.2 封裝的步驟實現(xiàn) private修飾成員變量 public修飾getter和setter方法 1.4.1 構造方法的作用 在創(chuàng)建對象的時候,給成員變量進行初始化。 初始化即賦值的意

    2024年02月03日
    瀏覽(24)
  • [ XJTUSE ]JAVA語言基礎知識——第一章 面向對象程序設計思想

    類描述了一組有相同 特性 (屬性)和相同 行為 (方法)的對象,類和對象是面向對象思想的兩個核心概念 · 人類是一種類,每一個具體的人則是這個類的對象 用面向對象程序來模擬真實世界 發(fā)現(xiàn)并創(chuàng)建類 發(fā)現(xiàn)類的特征 發(fā)現(xiàn)類的行為 在面向對象程序中,對象的特征由各種

    2023年04月13日
    瀏覽(230)
  • ????Java開發(fā)者的Python快速進修指南:面向對象--高級篇

    ????Java開發(fā)者的Python快速進修指南:面向對象--高級篇

    首先,讓我來介紹一下今天的主題。今天我們將討論封裝、反射以及單例模式。除此之外,我們不再深入其他內容。關于封裝功能,Python與Java大致相同,但寫法略有不同,因為Python沒有修飾符。而對于反射來說,我認為它比Java簡單得多,不需要頻繁地獲取方法和屬性,而是

    2024年02月05日
    瀏覽(26)
  • Java開發(fā)者的Python快速進修指南:面向對象--高級篇

    Java開發(fā)者的Python快速進修指南:面向對象--高級篇

    首先,讓我來介紹一下今天的主題。今天我們將討論封裝、反射以及單例模式。除此之外,我們不再深入其他內容。關于封裝功能,Python與Java大致相同,但寫法略有不同,因為Python沒有修飾符。而對于反射來說,我認為它比Java簡單得多,不需要頻繁地獲取方法和屬性,而是

    2024年02月05日
    瀏覽(22)
  • 【Java基礎教程】(七)面向對象篇 · 第一講:上干貨!面向對象的特性、類與對象、內存結構引用分析、垃圾收集器 GC處理、封裝性詳解、構造方法、匿名對象、簡單 Java 類~

    【Java基礎教程】(七)面向對象篇 · 第一講:上干貨!面向對象的特性、類與對象、內存結構引用分析、垃圾收集器 GC處理、封裝性詳解、構造方法、匿名對象、簡單 Java 類~

    程序是將數(shù)據(jù)和邏輯封裝在一起的代碼段。在Java中,方法是常用的代碼段封裝方式。然而,在Java中,方法必須存在于一個類中才能使用。因此,我們將進入本章的核心內容——面向對象編程。 利用面向對象設計的程序可以實現(xiàn)代碼的重用,并方便開發(fā)者進行項目維護。面向

    2024年02月13日
    瀏覽(26)
  • ????Java開發(fā)者的Python快速進修指南:面向對象進階

    在上一期中,我們對Python中的對象聲明進行了初步介紹。這一期,我們將深入探討對象繼承、組合以及多態(tài)這三個核心概念。不過,這里不打算贅述太多理論,因為我們都知道,Python與Java在這些方面的主要區(qū)別主要體現(xiàn)在語法上。例如,Python支持多重繼承,這意味著一個類可

    2024年02月05日
    瀏覽(27)
  • MySQL高級篇第一天

    MySQL高級篇第一天

    目錄 一、索引 二、索引結構 ?三、索引分類 四、索引語法 五、索引設計原則 六、視圖 七、存儲過程與概述 八、觸發(fā)器 九、總結 一、索引 ? ? ? ? (一)索引概述 索引是一種能夠幫組Mysql高效的從磁盤上 查詢數(shù)據(jù) 的一種數(shù)據(jù)結構,這些數(shù)據(jù)結構以某種方式引用( 指向

    2024年02月05日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包