我已经在1000多个地方读到静态变量不会被继承。但是这段代码为什么能正常工作呢?
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);
}
}
这段代码会打印出"Parent"。
还可以在一些地方了解数据隐藏的概念。
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);
}
}
现在输出的是"Child"。
那么这是否意味着静态变量会被继承但会遵循数据隐藏的概念?