通过方法继承重用 Java 代码

标签 java inheritance methods reusability

我正在寻找一种在 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/

相关文章:

java - 为什么 Java 在最新的 JDK 更新后无法连接到 MySQL 5.7,应该如何解决? (ssl.SSLHandshakeException : No appropriate protocol)

java - 在 java Jframe 中,我可以使用复选框从 View 中添加/删除 Jlabel 吗?

Java:为什么这个函数从未被调用?

c++ - 公有继承自基类,私有(private)继承自派生类

java记录行、列位置的方法

python - 在特定时间为 Django/Python 调用方法?

java - 什么是java中的虚方法调用?

java - 跟踪 Java Web 应用程序中的并发文件处理

java - 在Java中将int转换为float而不进行四舍五入

ios - swift 地,父类(super class)的函数如何通过协议(protocol)/委托(delegate)使用子类的函数?