乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Java(面向?qū)ο螅┗A

       印度阿三17 2019-07-10

      Java面向?qū)ο?/strong>


      **面向?qū)ο笕筇卣鳎?*
      繼承
      封裝
      多態(tài)
      ?

      OOA(面向?qū)ο蟮姆治?
      OOD(面向?qū)ο蟮脑O計)
      OOP(面向?qū)ο蟮木幊?

      類==屬性 方法
      屬性來源于類的狀態(tài),方法來源于動作
      **類的定義**
      public class Student{
      int id;?? ??? ??? ?//成員變量
      // id是對象級別的,必須先有對象才能訪問;不能直接使用類訪問
      String name;
      boolean sex;
      String adress;
      }
      創(chuàng)建對象
      java中所有new出來的數(shù)據(jù)統(tǒng)一被儲存在堆中,程序猿無法對堆區(qū)數(shù)據(jù)直接操作,只能通過內(nèi)存地址間接操作
      成員變量在堆中的對象中存儲

      /*
      關于系統(tǒng)默認值
      基本數(shù)據(jù)類型
      byte,short,int , long ? ? 0
      float , double ? ? 0.0
      boolean false
      char ?\u0000
      引用數(shù)據(jù)類型:null
      */
      ?面向?qū)ο蟮姆庋b性指的是:
      1.屬性私有化
      2.對外提供公開的setter ? ?getter
      set get 方法的方法名必須應該遵循規(guī)范

      ?

      **構造函數(shù)(構造方法,構造器,Constructor)**


      1.構造方法語句:
      【修飾符列表】構造方法名(形式參數(shù)列表){
      方法體;
      }
      2.構造方法的方法名必須和類名一致
      3.構造方法的作用?
      第一,創(chuàng)建對象
      第二,給成員變量賦值(初始化成員變量)

      4.構造方法應該如何調(diào)用?
      new ?構造方法名(實參);在堆中開辟空間儲存對象
      5.如果一個類沒有提供任何構造方法,系統(tǒng)默認提供無參數(shù)構造方法
      如果一個類已經(jīng)手動的提供了構造方法,那么系統(tǒng)不會再提供任何構造方法
      6.成員變量到底什么時候賦值?
      只有在調(diào)用構造方法的時候,才給成員變量賦值

      構造方法和普通方法一樣可以重載,構造方法不具有任何返回值類型,即沒有返回值,不能有void
      對象沒有更多的引用指向,則變成垃圾

      **this關鍵字**
      1.this是什么?
      this是一個引用類型
      在堆中的每一個java對象上都有this
      this保存內(nèi)存地址指向自身
      2.this能用在哪些地方?
      第一,this可以用在成員方法中
      第二,this可以用在構造方法中
      語法:this(實參);
      通過一個構造方法去調(diào)用另一個構造方法
      目的:代碼重用;
      this(實參);必須出現(xiàn)在構造方法中的第一行
      this可以區(qū)分成員變量和局部變量
      this不能用在靜態(tài)方法中
      靜態(tài)方法的執(zhí)行根本不需要Java對象的存在,直接使用類名.的方式訪問
      而this代表的是當前對象,所以靜態(tài)方法中根本沒有this
      **static關鍵字**
      1.static修飾的變量叫“靜態(tài)變量”
      2.static修飾的方法叫“靜態(tài)方法”
      3.static還可以定義靜態(tài)語句塊
      static定義的靜態(tài)語句塊在類加載階段執(zhí)行,并且只執(zhí)行一次,是自上而下的順序的執(zhí)行
      關于實例語句塊
      每一次調(diào)用構造方法之前會執(zhí)行一次
      實例語句塊執(zhí)行順序也是自上而下
      ? ?
      一般情況下工具類中的方法大部分都是靜態(tài)方法
      靜態(tài)方法不用創(chuàng)建對象也能直接訪問該方法?
      空的引用去訪問成員的時候會出現(xiàn)空指針異常
      靜態(tài)方法可以使用“類名.”方式調(diào)

      用,也可以使用“引用.”,即使用的是“引用.”,底層還是用的“類名.”


      **什么時候變量聲明成靜態(tài)變量?**
      如果這個屬性所有的對象都有,并且這個屬性的值是相同的,則該屬性聲明成靜態(tài)的屬性
      靜態(tài)變量:在類的加載階段賦值,并且只賦值一次
      成員變量:在創(chuàng)建對象的時候復賦值?

      **單利模式要領:**
      1.構造方法私有化
      2.對外提供一個公開的靜態(tài)的獲取當前類型對象方法
      3.提供一個當前類型的靜態(tài)變量 ?

      **類的繼承**
      引用類的最基本的作用的是:代碼重用
      語法:
      【修飾符列表】class子類名 extends ?父類名{
      類體
      }
      Java中,;類于類只能單繼承
      一個類如果沒有顯示繼承其他類,則類默認繼承Object,
      Object是Java中的根類

      Java語言中子類繼承父類,會將父類中所有的數(shù)據(jù)全部繼承,包括私有的,
      但是在子類中無法直接訪問父類中的私有的數(shù)據(jù),但可以間接訪問
      注意:構造方法無法被子類繼承

      **方法的覆蓋**
      1.什么時侯方法需要重寫?
      ? ?? ?如果父類中的方法已經(jīng)無法滿足當前子類的業(yè)務的需求,需要將父類中的方法進行重寫
      2.子類如果重寫父類中的方法之后,子類對象一定調(diào)用的是重寫之后的方法
      3.發(fā)生方法覆蓋的條件:
      第一;發(fā)生在具有繼承關系的兩個類之間
      第二;必須具有相同的方法名;相同的返回值類型;相同的參數(shù)列表
      第三;重寫的方法不能比被重寫的方法擁有更低的訪問權限?
      第四;重寫的方法不能比被重寫的方法拋出更寬泛的異常(異常機制)
      第五;私有的方法不能被覆蓋
      第六;構造方法無法被覆蓋,因為構造方法不能被繼承
      第七;靜態(tài)的方法不存在覆蓋
      第八;覆蓋指的是成員方法,和成員變量無關
      4.繼承最基本的作用:代碼重寫;
      ? ?繼承最重要的作用:方法可以重寫

      ?**多態(tài)**
      Java中向上轉(zhuǎn)型和向下轉(zhuǎn)型
      1.向上轉(zhuǎn)型(upcasting);子---------》父、
      2.向下轉(zhuǎn)型(downcasting);父-------》子;
      注意:無論是向上轉(zhuǎn)型還是向下轉(zhuǎn)型,兩個類之間必須要有繼承關系
      多態(tài)的作用:
      1.使用多態(tài)可以使代碼的耦合度降低
      2.項目的擴展能力增強


      super關鍵字
      1.super不是引用類型,super中儲存的不是內(nèi)存地址,super指向的不是父類對象
      2.super代表的是當前子類對象中的父類型特征
      3.什么時候使用super?
      子類和父類中都有某個數(shù)據(jù),如果要在子類中訪問父類中的屬性,需要使用super
      4.super可以用在什么地方?
      第一;super可以用在成員方法中,不能用在靜態(tài)方法中
      第二;super可以用在構造方法中

      super在構造方法中;
      語法;super(實參);
      作用;通過子類的構造方法去調(diào)用父類的構造方法;
      語法規(guī)則;一個構造方法第一行如果沒有this();也沒有顯示的去調(diào)用super();
      系統(tǒng)會默認調(diào)用super();
      super的調(diào)用只能放在構造方法的第一行;不能和this共存
      super()調(diào)用了父類中的構造方法,但是不會創(chuàng)建父類對象

      單例模式缺點:無法被繼承
      1.構造方法私有化
      final關鍵字 ?
      1.final修飾的類無法被繼承
      2. ? ? ? ? ? ? ? ? 方法
      ?3.final修飾的局部變量,一旦被賦值,不可被改變
      4.final修飾的成員變量必須手動初始化
      5.final 修飾的成員變量一般和static聯(lián)用

      **抽象類**
      1. 如何定義抽象類?
      class關鍵字前加abstract
      2.抽象類無法被實例化
      抽象類無法創(chuàng)建對象
      3.雖然抽象類沒有辦法實例化,但是抽象類也有構造方法,該構造方法是給子類創(chuàng)建對象用的
      4.抽象類中可以定義抽象方法
      抽象方法的語法:在方法的修飾符列表中添加abstract關鍵字,并且抽象方法應該以 “ ; ”結束,不能帶有“{ ?}”
      例如;public abstract void ?m1();
      5.抽象類中不一定有抽象方法,但是抽象方法必須出現(xiàn)在抽象類中;
      6.一個非抽象的類繼承抽象類,必須將抽象類中的抽象方法覆蓋,實現(xiàn),重寫
      抽象類不能被final修飾
      抽象方法不能被final修飾

      final修飾的引用類型,該引用不可再重新指向其他的Java對象
      但是final修飾的引用,該引用指向的對象的屬性是可以修改的
      ?

      來源:https://www./content-1-314101.html

        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多