Java中的实例变量隐藏
应该对Java继承中的这个关键字有深刻的理解,才能熟悉这个概念。实例变量隐藏是指超类和子类中存在同名实例变量时的状态。现在,如果我们尝试使用子类对象访问,那么子类的实例变量将隐藏超类的实例变量,而不管其返回类型如何。
在Java中,如果方法中存在与实例变量同名的局部变量,则局部变量会隐藏实例变量。如果我们想反映对实例变量所做的更改,可以借助此参考来实现。
例子:
Java
// Java Program to Illustrate Instance Variable Hiding
// Class 1
// Helper class
class Test {
// Instance variable or member variable
private int value = 10;
// Method
void method() {
// This local variable hides instance variable
int value = 40;
// Note: this keyword refers to the current instance
// Printing the value of instance variable
System.out.println("Value of Instance variable : "
+ this.value);
// Printing the value of local variable
System.out.println("Value of Local variable : "
+ value);
}
}
// Class 2
// Main class
class GFG {
// Main driver method
public static void main(String args[]) {
// Creating object of current instance
// inside main() method
Test obj1 = new Test();
// Callling method of above class
obj1.method();
}
}
输出
Value of Instance variable : 10
Value of Local variable : 40