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