2018-11-12

子類和子類型

  • 類定義了類型
  • 子類定義了類型
  • 子類的對象可以別當做父類的對象來使用
  • 複製給需要對象的函數
  • 傳遞給需要父類對象的函數
  • 放進存放父類對象的容器裏

子類型與賦值
子類的對象可以賦值給父類的變量
子類的對象可以傳遞給需要父類對象的函數
子類的對象可以存放在父類對象的容器裏

--多態變量

  • Java的對象變量是多態的,他能保存不知一種類型的對象
  • 他們可以保存的是聲明類型對象,或聲明類型的子類的對象
  • 當把子類的對象賦給父類的變量的時候,就發生了向上的造型

向上造型

把一個對象的類型賦值給類型的變量

造型cast
  • 子類的對象可以賦值給父類的變量
  • 注意!Java中不存在對象對對象賦值,是讓一個管理者,管理一個對象
  • 父類的對象不能賦值給子類的變量
    Vechicle v;
    Car c=new car;
    v=c;//可以
    c=v;//編譯錯誤
  • 可以用造型;
    c=(Car) v;
    (只有當v這個變量實際管理的是Car才行)

函數調用的綁定

  • 當通過對象變量調用函數額時候,調用那個函數這件事情叫做綁定
  • 靜態綁定:根據變量的聲明類型來決定
    動態綁定:根據局變量的動態類型來決定
  • 在成員函數中調用其他成員函數也是通過this這個變量來調用的

覆蓋override

  • 子類和父類中存在名稱和參數完全相同的函數,這一對函數構成覆蓋關係
  • 通過父類的變量調用用存在覆蓋關係的函數時,會調用變量當時所管理的對象所屬的函數
    多態;通過一個變量去調用一個函數

object類

類型系統-1
所有的類都是集成自Object類
toSting()
equals()

增加新的媒體類型

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