-1

我正在处理多个使用许多相同方法的 java 文件。到目前为止,当我更新任何方法时,我必须在其他文件中找到该方法并手动更新它们。我想知道如何通过实现“主文件”中的方法来做到这一点,该文件将包含我普遍使用的许多不同方法的主体。在我的研究中,我认为我可以通过接口来做到这一点,但是当我创建一个接口时,它不允许我添加一个主体......所以,显然我在那里做错了什么或者不正确地使用了接口。无论如何,实现这个目标最好的方法是什么?

4

3 回答 3

0

因为您已经标记了“(类的)多重继承”问题,所以我假设您已经发现这在 Java 中是不可能的,并且在您的层次结构中使用抽象类没有意义。

您可以做的是利用委托技术:创建一个类 A 并将所有常用方法放在那里。在 B 类和 C 类中,您可以创建 A 类的实例并使用该类的所有方法。例子:

A delegate = new A();
delegate.someMethod();

在此处阅读有关委托模式的更多信息。

于 2013-06-27T11:25:42.193 回答
0

听起来您需要使用父类(可能是抽象类)和子类。

父类:

public class Parent {
     public void method1() {
          System.out.println("You can call this method from Child");
     }
}

儿童班:

public class Child extends Parent {
    // Because you're extending Parent, it will allow you to use the method in your parent class.
    public void method2() {
        System.out.println("You can't call this method from Parent");
    }
}

现在如果你调用你的方法,你可以这样做:

Parent parent = new Parent();
parent.method1();

Child child = new Child();
child.method1();
child.method2();

输出:

"You can call this method from Child"
"You can call this method from Child"
"You can't call this method from Parent"

如果您现在在父类中编辑 method1,它将自动更改您的子类将提供的输出。

于 2013-06-27T11:19:18.177 回答
0

如果这些类是相关的并且存在父子关系,那么您可以在您的父类中拥有一个方法(可能是抽象的),它将保存这个公共代码。

如果类不相关但它们仍然有一些公共代码,那么将公共代码移动到实用程序类可能是一个好主意。

只有看到代码才能提供更多评论。

于 2013-06-27T11:18:05.793 回答