子类和父类的构造方法关系
在Java中,子类在初始化时会自动调用父类的无参构造方法。如果父类没有无参构造方法,子类必须显式地调用父类的构造方法,或者提供一个包含调用父类构造方法的构造方法。
当子类的构造方法被调用时,JVM会在初始化子类的过程中自动调用父类的构造方法。这个过程是自动的,不需要显式地在子类构造方法中调用父类的构造方法。
但是,如果父类有多个构造方法,子类不会自动调用父类的所有构造方法,只会默认调用父类的无参数构造方法。如果需要在子类中调用父类的其他构造方法,需要在子类的构造方法中使用super()来显式地调用所需的父类构造方法。
public class Parent { public Parent() { System.out.println("Parent class's parameterless method called"); } }
public class Son extends Parent{ public Son() { System.out.println("Son class's parameterless method called"); } public Son(int i) { System.out.println("Son class's parameter method called"); } public static void main(String[] args) { Son son1 = new Son(); Son son2 = new Son(1); } }
Parent class's parameterless method called Son class's parameterless method called Parent class's parameterless method called Son class's parameter method called Process finished with exit code 0
本文作者:xiaoovo
本文链接:https://www.cnblogs.com/xiaoovo/p/17794669.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步