马士兵java架构师

您现在的位置是:java学习笔记 >

java学习笔记

java子类调用父类构造函数(方法)

2023-11-16 17:21:31java学习笔记 本文浏览次数:1 百度已收录

本 文 目 录

本篇学习笔记我们主要来熟悉java子类调用父类构造函数(或构造方法)的过程。之前我们学习子类的时候,已经知道子类继承父类的时候自动继承父类的public,与protected的属性,直接通过super.xxx属性的方式即可调用,那么调用父类的构造函数,也是通过super关键字实现的。

一、子类在创建对象时会自动调用父类的构造函数

在Java中,子类在创建对象时会自动调用父类的构造函数,这个过程是通过super关键字来实现的。以下是一个例子:

public class Parent {
    public Parent() {
        System.out.println("Parent constructor called");
    }
}

public class Child extends Parent {
    public Child() {
        super(); // 调用父类的构造函数
        System.out.println("Child constructor called");
    }
}

二、父类具有参数的构造函数,可以通过相应的参数传递给super()

例如,如果父类有一个接受字符串参数的构造函数,你可以这样调用它:

public class ParentClass {  
    public ParentClass(String message) {  
        System.out.println("父类的构造函数被调用,信息是:" + message);  
    }  
}  

public class ChildClass extends ParentClass {  
    public ChildClass() {  
        super("Hello from ChildClass"); // 调用父类带参数的构造函数  
        System.out.println("子类的构造函数被调用");  
    }  
}

三、普通方法,子类可以直接调用父类的方法,也可以通过super关键字来调用

public class Parent {
    public void printHello() {
        System.out.println("Hello from parent class");
    }
}

public class Child extends Parent {
    public void printHello() {
        super.printHello(); // 调用父类的方法
        System.out.println("Hello from child class");
    }
}

在这个例子中,当我们调用Child类的printHello方法时,它会先调用Parent类的printHello方法,然后再执行自己的代码。