java – 是否继承了静态变量
发布时间:2020-12-15 07:37:56 所属栏目:Java 来源:网络整理
导读:我已经读过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.p
我已经读过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.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”. 那么这是否意味着静态变量是继承的,但它们遵循数据隐藏的概念? 解决方法
请查看oracle:
http://docs.oracle.com/javase/specs/jls/se8/html/jls-8.html#d5e12110的文档
静态变量是继承的,只要它们不被具有相同标识符的另一个静态变量隐藏即可. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |