gpt4 book ai didi

Java:嵌套类可以解决这个问题吗?

转载 作者:行者123 更新时间:2023-12-02 07:02:56 25 4
gpt4 key购买 nike

我有一个带有两个构造函数的 Java 类。这个类中有很多方法。无论使用哪个构造函数,大多数这些方法都会正确运行,但少数方法需要有不同的行为。假设 methodA() 是后者,我可以重新创建它并使用两个具有不同名称的方法,但这意味着在应用程序的其余部分重构大量代码,通常看起来是一个糟糕的解决方案。下面是一些演示代码:

public class Example {

public Example(int x, int y) {}
public Example(int x){}

public methodA(){
//If the first constructor is called, this method needs to behave
//differently than if the second were called.
}

public methodB(){
//But I still want access to this method, which behaves the same regardless
}

我的想法是使用嵌套类,创建两个具有不同 methodA() 但在父类中具有相同 methodB() 的嵌套类。有没有更好的方法来实现我的愿望,或者我是否走在正确的轨道上?

非常感谢。

最佳答案

经典的继承应该适合您的需求:

public class SuperExample {

public SuperExample(int x) {
}

public void methodA() {
}

public void methodB() {
}

}

public class SubExample extends SuperExample {

public SubExample(int x, int y) {
super(x);
}

@Override
public void methodA() {
}

}

关于Java:嵌套类可以解决这个问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16420235/

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