Map<String, String> getKeys(){
throw new RuntimeException("not implemented");
}
}
public static Map<String, String> getComponentKeys(Class<? extends ComponentInfo> componentClass){
componentClass.getKeys();
}
Почему я не могу позвать getKeys()? Как позвать?
как быть
https://t.me/javastart/545726
java: cannot find symbol symbol: method getKeys() location: variable componentClass of type java.lang.Class<? extends fit.nsu.labs.model.component.ComponentInfo>
Потому что мб лучше вынести в интерфейс или сделать без реализации абстрактный метод и переопределить у наследников? Также зачем ты ретёрнишь мапу, если бросаешь ексепшен, делай условный войд + нейминг метода правильный, соответствующий работе
мне нужен четко статик метод абстрактный со статиком не сочетается
я делаю shadow этого метода в дочерних
Методы, объявленные как static, private и final, не могут быть объявлены как abstract, поскольку такие методы не могут быть замещены подклассами. Точно так же класс, объявленный как final, не может содержать методов, объявленных как abstract.
по идее он shadow
Ну по идее я не вижу реализаций в гугле shadow abstract super class
И где тут асбтрактный класс?
мы же пришли к тому, что нужно к полям обращаться, а не к методу
а я чет не понял как с полями
видимо у вас не совсем верное понимание назначения статических методов и полей если немного подробней описать чего хочется достичь, то это может помочь решить проблему
Обсуждают сегодня