繼承,多態,抽象

  1. final的用法:


        final可以修類,該類不能繼承
        fianl可以修飾成員方法,該方法不能被重寫

  2. 構造方法:


    1)子類中 構造方法,默認的訪問父類中的無參構造方法;
    2)父類中的無參構造沒有提供,子類如何訪問父類中的構造方法?
         方式1:父類中提供無參構造方法
         方式2:通過子類中的super(".."),訪問父類中的有參構造
         方式3:在本類中可以通過其他構造方法去訪問父類中構造方法:
          this();   final可以變量(成員/局部變量),這個時候變量就變成了一個常量!(常用)

3.

    方法重載和方法重寫的區別?
    overload:在同一個類中,方法名相同,參數列表不同(參數個數/參數類型),與返回值沒有關係
    override:子類的方法和父類的一模一樣,連返回值都一樣.


 4.抽象的概述:將功能定義抽象,那麼該類就是抽象類!
 
    動物有很多,應該將動物類定義爲一個抽象類;動物本身不是一個具體動物,
    貓和狗具體的事物,貓和狗和吃的方法不一樣,在動物類中把吃的這個方法,定義爲抽象方法,那麼這個類就必須定義爲抽象類;
    
   java針對將一個類定義爲抽象----------->abstract:抽象的意思
 
    抽象類的特點:
      一個類中可以抽象方法.也可以有非抽象方法 
    抽象方法的格式:
      public abstract void method();
 
     抽象類的子類特點:
      子類可以是抽象類,沒有任何意義!抽象類不能直接實例化,就不能使用調用調用方法!
     
      子類是非抽象類,必須要重寫父類中的抽象方法,然後去使用子類的自己的功能
     父類是一個抽象類,如果要創建對象就必須通過子類進行實現!
     父類進行實例化只能間接子類進行實例化!
    
 5.抽象類中的成員的特點:
 
     成員變量:可以是變量,也可以是常量!(自定義常量)
     成員方法:可以是抽象方法,也可以是非抽象方法
     構造方法:一個抽象類中是可以有構造方法的!
   wKiom1lqH8ii6jcIAAHA5truBwI406.jpg-wh_50   

6.多態:指的是一個事物,在不同時刻狀態的一個體現!
 
    水:固態,氣態,液態;
    Dog d = new Dog();//創建了一個狗類的對象
    Animal a = new Dog();狗是一個動物
      = new cat();
 
  多態的前提條件:
   1)必須有繼承關係
   2)繼承一個類的同時,子類中必須有方法重寫(使用子類中的方法去覆蓋父類中的方法)
    動物類:吃和睡的功能,子類重寫父類的方法的原因:使用子類中有具體的功能..
  
   3)父類的引用指向子類對象
    繼承的時候:使用子類的:Zi z = new Zi() ;
    Fu f = new Zi() ;將f代表的父類引用指向堆內存的子類的對象!
    向上轉型!
    
  多態中的成員訪問特點:
    成員變量:
     編譯看左,運行看左!
    非靜態成員方法:
     編譯看左,運行看右
      子類中的方法會覆蓋掉父類中的方法
  
    靜態的成員方法:
     編譯看左邊,運行看左邊
     (靜態和類有關係)
  
    構造方法:始終是給對象進行初始化的!..

wKiom1lqH-TRxTagAAGo0HJvuuQ761.jpg-wh_50

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章