java-三大特性之一繼承
關於繼承的一些簡單介紹看我之前的部落格;
那裡介紹了,為什麼要有繼承,繼承是怎麼表達的,以及編寫了一個程式碼來解釋了一下,並且也還畫了一幅記憶體圖簡單介紹了一下;
連結;http://blog.csdn.net/zw1996/article/details/53208911;
1;我們先說一下,關於繼承的規則;
1.1;關於成員變數的繼承規則,應該說是成員變數的可見性;
這裡還是回到了,訪問修飾符;之前部落格介紹;
http://blog.csdn.net/zw1996/article/details/53240155
總結就是一句話,
父類中的private的成員變數子類是訪問不了的;public的則可以;
1.2;關於父類成員的隱藏;
當子類和父類有相同的成員(方法或變數)時的時候,那麼此時父類的成員會被隱藏,所有的呼叫都是呼叫的子類這個成員,除非使用super.這樣才能訪問到這個父類的成員;
//這樣的程式碼還是對的,呼叫的是子類的方法;
public class Main{
public static void main(String[] args){
Car bus = new Bus();
bus.show();
}
}
/*
public class Car{
public void show(){
System.out.println("呼叫父類");
}
}
public class Bus extends Car{
public void show(){
System.out.println("呼叫子類");
super.show();
}
}
*/
//這個程式碼就是不行了;
//因為父類裡面沒喲show方法,沒有構成重寫;
//因此父類的引用是看不到子類的方法的;
//重寫其實父類引用也是看的父類的方法,只是;裡面存在動態繫結因此呼叫的是子類的方法;
public class Main{
public static void main(String[] args){
Car bus = new Bus();
bus.show();
}
}
/*
public class Car{
}
public class Bus extends Car{
public void show(){
System.out.println("呼叫子類");
super.show();
}
}
*/
使用super呼叫出父類的方法;
1.3;this和super;
在java中this和super與繼承是密切相關的,
this常用來引用當前物件;
super常用來引用父類物件;
這個在之前的例項中體現了;
1.4;強制型別轉化;
這個其實和基礎資料型別的轉化差不多,只是這裡是引用型別的轉化;
說一下引用吧;
之前不斷的說什麼父類引用,子類引用,什麼的;
其實這些引用只是看物件的角度;
new出一個子類物件,站在子類的角度看,當然全部可以看到,
但是站在父類的角度看,則只能看到父類的那部分;這個可以看記憶體圖了;
關於這裡了,就可以來強制轉化;
還有一個比較有趣的問題關於引用型別的轉化;這個還是單獨拿出來說吧;
下次貼連結;
還有一個關於繼承的構造方法的例子;
就是例項化子類的時候一定會先例項化父類;
1.5;注意所有類都繼承與Object類,並且所有類都包含Object類中的方法;下次細說;
繼承就暫時總結到這裡了, 以後再來完善;
相關文章
- Java-發紅包例項-繼承練習Java繼承
- java-物件導向程式設計--繼承Java物件程式設計繼承
- java-三大特性之一封裝性Java封裝
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- 物件導向 -- 三大特性之繼承物件繼承
- C++的核心特性:繼承機制C++繼承
- Python類繼承的高階特性Python繼承
- 原型,繼承——原型繼承原型繼承
- 菱形繼承,虛繼承繼承
- CSS系列:CSS的繼承與層疊特性CSS繼承
- 多繼承 與 多重繼承繼承
- C++繼承詳解:共有(public)繼承,私有(private)繼承,保護(protected)繼承C++繼承
- 三種繼承的方法:public 繼承/private繼承/protected繼承詳解及區別繼承
- Javascript繼承4:潔淨的繼承者—-原型式繼承JavaScript繼承原型
- Javascript繼承2:建立即繼承—-建構函式繼承JavaScript繼承函式
- Java中物件導向三大特性之繼承Java物件繼承
- Java的三大特性:封裝、繼承、多型Java封裝繼承多型
- Java物件導向03——三大特性之繼承Java物件繼承
- 重讀C++之一:封裝、繼承和多型C++封裝繼承多型
- 繼承繼承
- C++繼承一之公有繼承C++繼承
- JS原型繼承和類式繼承JS原型繼承
- C++中公有繼承、保護繼承、私有繼承的區別C++繼承
- 公有繼承、私有繼承和保護繼承之間的對比繼承
- 物件導向三大特性-----封裝、繼承、多型物件封裝繼承多型
- CSS三大特性(層疊性,繼承性,權重)CSS繼承
- day23:單繼承&多繼承&菱形繼承&__init__魔術方法繼承
- 類的繼承_子類繼承父類繼承
- JavaScript繼承JavaScript繼承
- JavaScript 繼承JavaScript繼承
- 多繼承繼承
- Java繼承Java繼承
- javascript:繼承JavaScript繼承
- swift繼承Swift繼承
- js繼承JS繼承
- 虛繼承繼承
- 10 #### 繼承繼承
- API的使用(3)Arrays 類,Math類,三大特性--繼承API繼承