如何传递对抽象类的引用 - Java [英] How to pass reference to abstract class - Java
本文介绍了如何传递对抽象类的引用 - Java的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Data data = new Data("path"); //I read data from excel and save. This code is in Main.
public abstract class Generator{
public abstract double[][] generate();
//here I need reference - data
}
public class GeneratorA extends Generator{
public double[][] generate(){
//first implementation - I want to work with data
}
}
public class GeneratorB extends Generator{
public double[][] generate(){
//second implementation - I want to work with data
}
}
我需要的是将引用(数据)传递给抽象类 Generator.我可以在 GeneratorA/GeneratorB 的构造函数中传递引用,但是我有更多的子类并且效率低下.有什么方法可以将参考数据传递给 abstr.类生成器?我只想从类 Generator 继承引用...谢谢!
What I need is passing reference (data) to abstract class Generator. I can pass reference in constructors of GeneratorA/GeneratorB but I have more child classes and it is inefficient. Is any way how to pass reference data to abstr. class Generator? I just want to inherit reference from class Generator... Thanks!
推荐答案
您必须向抽象类添加构造函数.然后你只需要在子类构造函数中调用 super(data)
.
You must add a constructor to your abstract class. Then you just have to call super(data)
in subclasses constructor.
查看下面的代码:
public abstract class Generator{
Data data;
public Generator(Data data) {
this.data = data;
}
public abstract double[][] generate();
//here I need reference - data
}
}
public class GeneratorA extends Generator{
public GeneratorA(Data data) {
super(data);
}
public double[][] generate(){
//first implementation - I want to work with data
}
}
public class GeneratorB extends Generator{
public GeneratorB(Data data) {
super(data);
}
public double[][] generate(){
//second implementation - I want to work with data
}
}
这篇关于如何传递对抽象类的引用 - Java的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文