Как создать экземпляр класса

У меня проблема в приложении, я не могу создать экземпляр класса

это мое 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 
{...}
Другие вопросы по тегам