java – 重写超类的受保护方法
发布时间:2020-12-15 04:28:49 所属栏目:Java 来源:网络整理
导读:在下面的例子中,为什么String b打印null并且String c打
在下面的例子中,为什么String b打印null并且String c打印“gg”.
如果我错了,每当子类(BClass)覆盖超类(AClass)的受保护方法(即initClass())时,请纠正我.如果您实例化子类.超类必须使用子类指定的overriden方法. public class Example { public class AClass { private String a; public AClass() { initClass(); } protected void initClass() { a = "randomtext"; } } public class BClass extends AClass { private String b = null; private String c; @Override protected void initClass() { b = "omg!"; c = "gg"; } public void bValue() { System.out.println(b); // prints null System.out.println(c); // prints "gg" } } public static void main(String[] args) { Example.BClass b = new Example().new BClass(); b.bValue(); } } 解决方法
截至
JSF 12.5
在示例中,您可以看到执行顺序.第一步是将构造函数调用到Object构造函数.
由于您的实例变量b初始化为null,因此之后将再次为null (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 为什么不是ArrayList <>.add()工作?
- JavaFX 8 DatePicker功能
- java – 在Eclipse中是否有可能定义一组断点并且只在给定事
- Java如何在不存在文件夹的目录下创建文件
- 如何脱机使用World Wind Java SDK
- 选择Spring Boot项目的内嵌容器的理由
- 添加另一个对象时java.util.ConcurrentModificationExcepti
- java – Spring Sleuth和Zipkin:找不到神器io.zipkin.brav
- java-8 – java.time.format.DateTimeParseException:无法
- Java中同步方法的缺点