如:假設有乙個父類father和乙個子類son。父類有乙個成員變數a=0;有乙個靜態成員變數b=0;有乙個成員方法f,輸出0;有乙個靜態成員方法g,輸出0。子類分別重寫這些變數和方法,只是修改變數的值和方法的輸出,全部改為1. 我們再宣告乙個靜態型別是父類,動態型別是子類的引用:
father father=new son();
結果:father.a=0
father.b=0
father.f():1
father.g():0
package test;
//宣告父類
class father
static void g()
}//宣告子類
class son extends father
static void g()
}/* 隱藏和覆蓋的區別 */
public class hideandcover
}
Java 隱藏與覆蓋簡述
隱藏和覆蓋 原則如下 1 如果子類宣告了與父類成員變數同名的成員變數,則父類的成員變數被隱藏。2 如果子類宣告了父類中同名的成員方法,則父類成員方法被覆蓋。重寫父類的方法不允許降低父類方法的訪問許可權。3 父類中的final方法不允許被重寫 覆蓋 4 父類中的static方法只能被子類同名的stat...
隱藏與覆蓋
成員函式的過載 overload 覆蓋 override 與隱藏很容易混淆,c 程式設計師必須要搞清楚概念,否則錯誤將防不勝防。1 過載與覆蓋 成員函式被過載的特徵 1 相同的範圍 在同乙個類中 2 函式名字相同 3 引數不同 4 virtual 關鍵字可有可無。覆蓋是指派生類函式覆蓋基類函式,特徵...
覆蓋與隱藏
覆蓋是占用了原來的位置,隱藏只是存在找不到 例如 class a void fun1 int v static void fun2 int v class b extends a void fun1 int u static void fun2 int u a a new b a.fun1 呼叫的是...