gpt4 book ai didi

java - 如何写一个抽象的主类

转载 作者:行者123 更新时间:2023-11-30 06:23:33 25 4
gpt4 key购买 nike

我需要写一些进口商。他们需要所有相同的初始化。所以我尝试写一个抽象类,它做所有的初始化,还有 main 方法,这样所有的子类只需要实现 run() 来完成它们特定的导入工作:

public abstract class AbstractImporter {

public AbstractImporter() {
// Initialization
}

public abstract void run();

public static void main(String[] args) {
AbstractImporter importer = new AbstractImporter();
importer.run();
}

}

public class ConcreteClass() {

public void run() {
// Do some importing
}

}

当然它无法创建这个抽象类的实例(new AbstractImporter())。

有没有人知道如何解决这个问题? TIA!

最佳答案

显然您需要一个具体的类——匿名的或其他的。

最好将主要方法移动到另一个类并根据数据(您的特定领域或常量)实例化适当的具体类,然后运行它。这样每个实现都可以独立于其他实现。

public abstract class AbstractImporter {

public AbstractImporter() {
// Initialization
}

public abstract void run();
}

public class ConcreteImporter1 extends AbstractImporter {
public void run() {
//do something
}
}


public class ImporterMain() {

public static void main(String[] args) {
AbstractImporter importer = createImporter(args[1]);
importer.run();
}

private static AbstractImporter createImporter(String type) {
if (type.equals("1")) {
return new ConcreteImporter1();
}
....
}
}

关于java - 如何写一个抽象的主类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18282628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com