有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java从父类继承时,如何更改父类构造函数的一部分?

我有一门课,我想把它变成一个物体。然而,这个类的构造函数中有一个属性集,这使得它对我来说不可用。我不能编辑这个类的代码,因为它存在于一个非常紧凑的代码库中。这个属性在对象构造后不能更改,所以即使有setter方法,它也不能工作(它是SWT gui框架的一部分,不能动态更改)

我的直觉告诉我要把它分类,并改变我需要改变的东西。应该只写几行,因为这门课的其他方面都会保持不变。然而,由于需要在子类的构造函数中调用的第一行是super方法,这意味着在我做任何事情之前就调用了父类的构造函数

有没有什么方法可以在这个类中创建一个对象,只更改一个小属性,而不必创建一个完整的新类,它是所有代码的复制/粘贴,除了8中的一个小更改

谢谢

编辑:因为有人请求代码:

public class Parent {
    private Object important_object = null;
    public Parent() {
        important_object = new Object();
        important_object.important_property = BAD;
    }
}

public class Child extends Parent {
    public Child() {
           // how the heck do I make an instance of this
           // class that has important_property set to GOOD
           // instead of BAD?
    }
}

共 (1) 个答案