Как создать экземпляр класса
У меня проблема в приложении, я не могу создать экземпляр класса
это мое java.lang.ClassCastException
eclipse.emf.editeurgraphique.risque.features.StartEventFeature$CreateStartEventFeature cannot be cast to org.eclipse.graphiti.features.ICreateFeature
at eclipse.emf.editeurgraphique.risque.features.StartEventFeature.getCreateFeature(StartEventFeature.java:43)
И это мой метод:
public ICreateFeature getCreateFeature(IFeatureProvider fp) {
return (ICreateFeature) new CreateStartEventFeature(fp);
}
мой интерфейс:
public interface ICreateFeature extends ICreate, IFeature {
}
и мой класс
public CreateStartEventFeature(IFeatureProvider fp) {
super(fp, "Start Event", "Indicates the start of a process or choreography");
}
3 ответа
Этот вопрос немного сбивает с толку, поскольку он не показывает всей проблемы, но я предполагаю, что CreateStartEventFeature реализует ICreateFeature, поэтому попробуйте опустить явное приведение:
public ICreateFeature getCreateFeature(IFeatureProvider fp) {
return new CreateStartEventFeature(fp);
}
Ваш CreateStartEventFeature не расширяет какой-либо определенный вами класс, поэтому, вызывая супер-конструктор
super(fp, "Start Event", "Indicates the start of a process or choreography");
Вы пытаетесь запустить параметризованный конструктор из класса Object.
CreateStartEventFeature должен реализовать интерфейс:
public class CreateStartEventFeature extends MyBaseClass implements ICreateFeature
{...}