Music mu=new Music();
Musc m=mu;//地址一樣
繼承:Java只支持單繼承,不支持多繼承。
Java支持多層(重)繼承(繼承體系)。
如果類之間存在着:is a 的關系,就可以考慮使用繼承。
不要為了繼承部分功能,而去使用繼承。
final是一個關鍵字,可以用於修飾類,成員變量,成員方法。
特點:
1. 它修飾的類不能被繼承。
2. 它修飾的成員變量是一個常量。
3. 它修飾的成員方法是不能被子類重寫的
不同的包,基類一定是public,否則子類不能被繼承
在基類中定義的private成員在任何情況下不會被繼承
protected限制包以外的類訪問,可以繼承:沒有訪問修飾符的成員限制在同一個包內可以訪問,不能繼承
public>protected>private
構造方法 :如果沒有顯示地調用一個基類的構造方法 ,就會隱式調用父類構造方法
//子類對象構造時,會默認調用父類無參構造函數 public Music(){ //super();//默認調用父類無參構造 //System.out.println("子類"); } //如何顯式調用父類構造函數?? public Music(String name,String path,String time,String singer){ //調用父類構造(初始化父類成員) super(name,path,time); this.singer=singer;//初始化本類成員 }
方法重寫:在兩個存在繼承關系的類中,如果子類中的一個方法與父類中的方法有相同的方法名並具有相同數量與類型的參數列表,那么在這個子類中新定義的方法將替代父類中定義好的方法,這就是子類中的方法重寫,如:
父類:public void play() { System.out.println("playing!!!"); } 子類:@Override public void play() { System.out.println("初始化播放器"); System.out.println("載入電影"); System.out.println("加載字幕"); super.play(); }