Перво-наперво, пожалуйста, имейте в виду, что я пытаюсь выразить свой вопрос как можно лучше, используя мои текущие знания и словарный запас, поэтому, пожалуйста, извините это ...
У меня есть абстрактный класс, в котором я хочу создать метод, в котором он создает себя ... Конечно, это невозможно в абстрактном классе, однако, что я действительно хочу, так это для конкретных детей (тех классов, расширяет "), чтобы унаследовать этот экземпляр, чтобы они могли создать экземпляр себя ...
В основном я хочу сделать следующее:
MyAbstract a = new this ();
Однако это не разрешено ... Есть ли способ, которым я могу делать то, что хочу?
Вот некоторый некомпилируемый код мечты (то есть код, который я хотел бы сработать). По сути, я хочу, чтобы ConcreteChild вызывал метод, в котором он создает сам объект. Метод наследуется от его родителя.
public class Abstract {
public void instantiateMyConcreteChild()
{
Abstract a = new this();
}
}
public class ConcreteChild extends Abstract{
public static void main(String[] args) {
ConcreteChild c = new ConcreteChild();
c.instantiateMyConcreteChild();
}
}
* Дополнительная информация **
Спасибо за ответы, но я думаю, что пропустил что-то жизненно важное ...
По сути, я хотел передать self объекта ("this") в некоторые методы некоторых других классов. Однако создание экземпляра другого объекта внутри объекта немного отсталый, я могу просто передать «this», верно ...