gpt4 book ai didi

java - 我可以在构造函数之前调用方法吗

转载 作者:行者123 更新时间:2023-11-29 09:49:59 26 4
gpt4 key购买 nike

我知道我可以在构造函数中调用静态方法。

  1. 我在一个类中有一个构造函数,它通过 this(arguments) 调用另一个构造函数。

  2. 其次,第二个构造函数正在调用 super(arguments) 调用 super 构造函数。

我想在这些构造函数执行之前执行一些代码。我不能使用 static block 。有什么想法吗?

最佳答案

您可以调用静态方法。我经常这样做:

public class MyClass extends SuperDuperClass {

public MyClass() {
this(convert("Foo!")); // convert will be executed
// other constructor is called
}

public MyClass(String arg) {
super(convert(arg)); // convert will be executed
// before superconstructor is called
}

private static String convert(String arg) {
return arg + "_modified";
}
}

当然,我们不能调用实例方法或使用非静态字段。

(当然,这个模式需要一个带有参数的 super 构造函数)

关于java - 我可以在构造函数之前调用方法吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9293631/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com