I have read at 1000's of locations that Static variables are not inherited. But then how this code works fine?
Parent.java
public class Parent {
static String str = "Parent";
}
Child.java
public class Child extends Parent {
public static void main(String [] args)
{
System.out.println(Child.str);
}
}
This code prints "Parent".
Also read at few locations concept of data hiding.
Parent.java
public class Parent {
static String str = "Parent";
}
Child.java
public class Child extends Parent {
static String str = "Child";
public static void main(String [] args)
{
System.out.println(Child.str);
}
}
Now the output is "Child".
So does this mean that static variables are inherited but they follow the concept of data-hiding?