JAVA隱藏與覆蓋

2021-09-06 03:39:53 字數 500 閱讀 9118

如:假設有乙個父類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 呼叫的是...