我正在寻找一种在 Java 中实现代码重用的方法。 许多类应该有自己的(静态)数据。 它们都应该有一个共同的方法,但是该方法应该对自己的数据进行操作。 下面的代码仅返回“BASE DATA”行,而所需的输出是 BASE DATA、Above1 DATA、Above2 DATA 等等
在 Java 中实现此目的的正确方法是什么?
public class Base{
static private String data="BASE DATA";
static void printData(){System.out.println(data);}
public static void main(String[] args){
Base.printData();
Above1.printData();
Above2.printData();
Above3.printData();
}
}//Base
class Above1 extends Base {
static private String data="Above1 DATA";
}//Above1
class Above2 extends Base {
static private String data="Above2 DATA";
}//Above2
class Above3 extends Base {
static private String data="Above3 DATA";
}//Above3
最佳答案
使用命令模式(如果您愿意,也可以使用访问者模式)。
该功能将作为传递给每个类的命令对象来实现。
然后该类将执行该命令,并将其静态数据传递到该命令中。
关于通过方法继承重用 Java 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20573616/