Java 中子類的變數隱藏超類中的變數
有時,子類中的變數可能會隱藏超類中的變數。這種情況,可以使用 Java 中的 super 關鍵字引用父類變數。
具體演示這一情況的程式如下
示例
class A {
char ch;
}
class B extends A {
char ch;
B(char val1, char val2) {
super.ch = val1;
ch = val2;
}
void display() {
System.out.println("In Superclass, ch = " + super.ch);
System.out.println("In subclass, ch = " + ch);
}
}
public class Demo {
public static void main(String args[]) {
B obj = new B('B', 'E');
obj.display();
}
}輸出
In Superclass, ch = B In subclass, ch = E
現在我們來理解以上程式。
類 A 包含資料成員 ch。類 B 使用 extends 關鍵字派生自類 A。它還包含資料成員 ch 和建構函式 B()。
在子類 (B) 中的 ch 變數隱藏了超類 (A) 中的 ch 變數。因此,可以使用 super 關鍵字在建構函式 B() 中引用父類變數 ch。類 B 中的 display() 方法列印了子類和超類中的 ch 的值。演示這一情況的程式碼片段如下
class A {
char ch;
}
class B extends A {
char ch;
B(char val1, char val2) {
super.ch = val1;
ch = val2;
}
void display() {
System.out.println("In Superclass, ch = " + super.ch);
System.out.println("In subclass, ch = " + ch);
}
}在類 Demo 中的 main() 方法中,建立了類 B 的一個物件 obj。然後呼叫 display() 方法。演示這一情況的程式碼片段如下
public class Demo {
public static void main(String args[]) {
B obj = new B('B', 'E');
obj.display();
}
}
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP