gpt4 book ai didi

java - 避免构造函数中的重复代码

转载 作者:行者123 更新时间:2023-12-01 06:53:26 25 4
gpt4 key购买 nike

我的 Java 代码看起来像这样:

public class Animal {
Animal(String name) {
// some code
}
}

还有一个像这样的子类:

public class Dog extends Animal {
Dog(String name) {
// SAME code as Animal constructor
}
}

Dog 和 Animal 之间的唯一区别是 Dog 有一些重写父类(super class)的方法。他们的构造函数具有完全相同的代码。如何避免这种重复的代码?我知道对象不能继承构造函数。

最佳答案

如果构造函数相同,则在 Dog 中不需要它。您可以通过调用 super(name);Dog 访问 Animal 构造函数。

public class Animal {
Animal(String name) {
// some code
}
}

在狗中:

public class Dog {
Dog(String name) {
super(name);
}
}

值得注意的是,对父类(super class)构造函数的调用必须是构造函数中的第一行。但是在调用 super(name) 之后,您可以继续执行其他特定于 Dog 的代码。

例如:

public class Dog {
Dog(String name) {
// You can't put any code here
super(name);
// But you can put other code here
}
}

关于java - 避免构造函数中的重复代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19106644/

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