java 課堂筆記

1.定義子類用extends關鍵字,如果沒有顯示聲明類的父類,那麼類的父類缺省認爲是Object
2.父類的public成員,任何包中子類都可以繼承,訪問權限不變
   父類的protected成員,任何包中子類都可以繼承,訪問權限不變
   父類的缺省成員,只有同一個包中子類可以繼承,訪問權限不變
3.方法重寫:子類定義一個和父類同名的方法,返回值類型相同或更小,參數列表相同
   3.1父類的靜態方法不能在子類中重寫爲非靜態方法
   3.2父類的非靜態方法不能在子類中重寫爲靜態方法
   3.3靜態方法不能重寫
4.成員屬性覆蓋:子類定義一個和父類同名的屬性(類型相同)
5.方法重寫和屬性覆蓋後,用子類對象訪問得到的是子類重寫和覆蓋的成員,如果想訪問父類的,使用super關鍵字,但是,super不能在static 方法中使用
6.子類不能繼承父類的構造方法;
   子類構造方法調用時,如果沒有顯示調用父類構造方法,會首先自動調用父類不帶參數構造方法,然後執行子類構造方法體;
  如果要顯示調用父類構造方法,使用super關鍵字,而且要放在構造方法體中做第一條語句
7.多態性:在使用繼承時,使用子類對象爲父類對象賦值,使用父類對象直接訪問從父類繼承的成員變量,得到的是父類中變量值,使用父類對象訪問子類重寫的方法,訪問到的是子類重寫過的方法(方法中this指針指的是子類對象),但是使用父類對象訪問不到子類新增加成員;要想訪問子類覆蓋的屬性和新增加成員必須使用對象造型(把子類對象恢復本來面目)
8.對象造型能夠成功的條件:父類對象的實際面目就是這個子類對象,
 可以用instanceof運算符判斷對象的本來面目

 

 

 

 

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