在Java中调用超级构造函数之前执行一些逻辑

在Java中调用超级构造函数之前执行一些逻辑,java,Java,我知道,在派生的Java类中,可以调用超级构造函数作为子构造函数中的第一个命令。例如,Python允许在调用超级构造函数之前执行一些自定义逻辑 我的问题是:在Java中,有没有办法做到这一点,在调用超级构造函数之前调用一些命令?如果不是,那么通常的“Java方式”是什么 示例用例:我正在编写一个游戏,在子类构造函数中,我需要加载一些资产(仅用于该子类,而不是静态),并将它们传递给父类构造函数 调用超类构造函数必须是子类构造函数的第一行 摘自。因此,不,在按照您要求的方式调用超类的构造函数之前,您

我知道,在派生的Java类中,可以调用超级构造函数作为子构造函数中的第一个命令。例如,Python允许在调用超级构造函数之前执行一些自定义逻辑

我的问题是:在Java中,有没有办法做到这一点,在调用超级构造函数之前调用一些命令?如果不是,那么通常的“Java方式”是什么

示例用例:我正在编写一个游戏,在子类构造函数中,我需要加载一些资产(仅用于该子类,而不是静态),并将它们传递给父类构造函数

调用超类构造函数必须是子类构造函数的第一行


摘自。因此,不,在按照您要求的方式调用超类的构造函数之前,您不能执行逻辑。

您可以在对super()的调用中调用静态方法(例如super(initSomething());如果该方法是静态的)


但是,如果您的逻辑太复杂,最好使用静态工厂方法,在调用(私有)构造函数之前,该方法可以进行更多的自定义初始化。

您能给出一些示例吗?@codennija:Example added.OP知道,他注意到了这个问题的替代解决方案