Мне нужно написать некоторые импортеры. Им нужна все та же инициализация. Поэтому я стараюсь, чтобы написать абстрактный класс, который делает всю инициализацию, а также имеет основной метод, так что все подклассы необходимо реализовать 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()
).
Кто-нибудь знает, как это решить? ТИА!
Что вы хотите сделать главным способом? –
@JBNizet Мне нравится избегать основного метода в конкретных подклассах, поэтому основной метод этого абстрактного суперкласса должен создать экземпляр подкласса и вызвать метод run. – t777
как u будет создавать экземпляр класса child в основном методе родительского класса? Вы уверены, что вы хотите сделать? – saurav