interface Lopzik{
void petrol();
}
public class Test{
public static void main(String[] args) {
Lopzik lopzik = new Lopzik(){
@Override
public void petrol() {
System.out.println("ouch");
}
public String toString() {
return "poncho";
}
public String kopo(){return "last";} //можно как то вызвать данный метод тут? (номер 2)
};
lopzik.petrol();
// номер 2
}
}
Как можно вызвать метод kopo() в методе main, если данный метод не существует в Lopzik{} а внедрен во время определения анонимного класса? Или придется использовать его только в рамках тела анонимного класса?
Внимание: Если данный вопрос вдруг оказался дубликатом, тогда просто вставьте ссылку в комментах, без негативных голосов. Если содержание ссылки дает исчерпывающий ответ, тогда я свой вопрос удалю.
Вы сами ограничили тип переменной, когда указали конкретный тип Lopzik lopzik = ...
Если используется Java 10 или выше, то можно просто написать var lopzik = ...
и тип выведется сам с нужными методами.
Если используется Java ниже 10 версии, то можно создать интерфейс с дополнительным методом String kopo()
и наследовать его при создании анонимного класса.
В крайнем случае можно через вызвать метод так:
(String) lopzik.getClass().getMethod("kopo").invoke(lopzik)
, но это нежелательно.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Делаю свой лаунчер для проектаСделал загрузку клиента, авторизацию, загрузку новостей из группы вк, всё отлично
Тестовая реклама показывается, но при закрытии рекламы идет ошибка, которая не дает выполнится коду внутри onRewardedAdClosed(), код ошибки:
Как вывести число в экспоненциальной форме, например есть число 0,00000007891
Мне нужно циклически сдвигать символы, после ряда таких сдвигов должна получится реверснутая строкаНапример: caba -> acba->abca->abac Нужно подсчитать...