📜  Java中的实例变量隐藏

📅  最后修改于: 2022-05-13 01:54:45.660000             🧑  作者: Mango

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