JAVA程式設計思想第七章-複用類
1.一個物件被轉換成string時,會呼叫物件的toSting方法
public class demo7 {
private water w=new water();
private String s="string";
public static void main(String args[]){
demo7 d=new demo7();
System.out.println(d);
}
public String toString(){
return s+w;
}
}
class water{
private String s;
water(){
System.out.println("water");
s="construct";
}
public String toString(){
return s;
}
}
2.super呼叫的父類中的方法,繼承之後的類在初始化的時候,會先初始化父類。
public class demo8 extends demo9{
demo8(){
System.out.println("demo8");
}
public void doti(){
super.doti();
System.out.println("doti2");
}
public static void main(String args[]){
demo8 d=new demo8();
d.doti();
}
}
class demo9{
demo9(){
System.out.println("demo9");
}
public void doti(){
System.out.println("deti1");
}
}
demo9
demo8
deti1
doti2
3.子類繼承父類之後,在向上轉型的時候,會丟失子類中的新增方法。
4.組合就是在一個類中new另一個類,這樣可以呼叫另一個類的所有方法。
繼承是一個類可以繼承過來另一個類的所有方法,並且可以增添新的方法。
如何選擇是用組合還是選擇是用繼承在於檢視類是否需要向上轉型,如果需要向上轉型就可以用繼承。
5。類的初始化流程:子類繼承父類,static,super等 有這些條件的時候的一個順序
看java程式設計思想95頁的程式碼。