函数重载和多态性
重載 overloading
java的重載是指在一個類中同一個函數以多種不同的形態出現,即函數的參數個數或者類型不一樣。
例子 System.out.println(); 下面簡稱SOP
SOP(String str)
SOP(int number)
SOP(char ch)
SOP(double num)
.................................
這就是重載的效果
覆蓋(重寫) overwritting
覆蓋即子類繼承父類,然后子類中方法覆蓋原父類的同名方法,從而實例化子類后,調用的是子類的方法。注意父類和子類同名方法的參數個數和類型必須完全相同.
例子
public class father{
public overwritting(){
? ? SOP("father method");
}
public class son extends father{
public overwritting(){
? ? SOP("son method");
}
public static void main(String args[]){
? ? father son=new son();
? ? son.overwritting();
}
}
結果會調用子類的overwritting方法, son method。這就是覆蓋。
隱藏 hide
那么什么情況下,子類實例化后會調用父類的方法而不是子類的方法呢?
(當然子類和父類的方法定義需要是一樣的)
注意static 類型的方法是不能被覆蓋的,所以java利用這一個特性完成了隱藏的效果。
例子
public class father{
public static overwritting(){
? ? SOP("father method");
}
public class son extends father{
public static overwritting(){
? ? SOP("son method");
}
public static void main(String args[]){
? ? father son=new son();
? ? son.overwritting();
}
}
結果會調用父類的overwritting方法 fathetr method。這就是隱藏。
轉載于:https://www.cnblogs.com/zcy_soft/archive/2010/10/02/1841169.html
總結
- 上一篇: 5800对于存储卡密码设置问题
- 下一篇: 平衡二叉树(AVL)实现(3)-删除