Описание тега default-method
Метод по умолчанию - это функция, представленная в Java 8, которая позволяет интерфейсу объявлять тело метода. Классы, реализующие интерфейс, не обязаны переопределять метод по умолчанию. Используйте этот тег для вопросов, касающихся методов по умолчанию.
2
ответа
Смущен "супер" ключевым словом в этом примере Java
В этом примере на странице учебника Java сайта. Два интерфейса определяют один и тот же метод по умолчанию startEngine(), Класс FlyingCar реализует оба интерфейса и должен переопределить startEngine() из-за очевидного конфликта. public interface Ope…
18 окт '15 в 06:55
17
ответов
Интерфейс с методами по умолчанию против абстрактного класса в Java 8
Поскольку Java 8 допускает реализацию методов по умолчанию в интерфейсе, называемом Методами по умолчанию, кажется, что возникает путаница между тем, когда я буду использовать abstract class, Так когда же следует использовать интерфейс с методами по…
15 ноя '13 в 10:06
5
ответов
Шаблонный метод проектирования шаблона с использованием Java 8
Я хочу реорганизовать метод шаблона, используя java 8 новый метод по умолчанию. Скажем, у меня есть поток определения процесса в абстрактном классе: public abstract class FlowManager{ public void startFlow(){ phase1(); phase2(); } public abstract vo…
29 июн '15 в 20:48
2
ответа
Что происходит, если два интерфейса содержат один и тот же метод по умолчанию?
Если у меня есть два интерфейса с тем же методом по умолчанию, и оба реализуют с классом / см. Эту программу. interface alpha { default void reset() { System.out.println("This is alpha version of default"); } } interface beta { default void reset() …
25 дек '14 в 16:37
1
ответ
Метод по умолчанию с реализацией UnsupportedOperationException
Мне нужно исправить ошибку в моем проекте, но выясняется, что основная причина - это влияние многих обходных путей, распространяемых для всех реализаций интерфейса из-за проблемы проектирования. Я хочу реорганизовать этот интерфейс, но я не могу сде…
05 фев '18 в 17:07
5
ответов
Почему мы не можем использовать методы по умолчанию в лямбда-выражениях?
Я читал этот учебник по Java 8, где автор показал код: interface Formula { double calculate(int a); default double sqrt(int a) { return Math.sqrt(a); } } А потом сказал Методы по умолчанию не могут быть доступны из лямбда-выражений. Следующий код не…
13 окт '15 в 17:06
2
ответа
"Свойство не найдено для типа" при использовании методов интерфейса по умолчанию в JSP EL
Рассмотрим следующий интерфейс: public interface I { default String getProperty() { return "..."; } } и реализующий класс, который просто повторно использует реализацию по умолчанию: public final class C implements I { // empty } Всякий раз, когда э…
01 фев '16 в 12:15
3
ответа
Является ли это приемлемым использованием метода интерфейса Java по умолчанию?
public interface Example<E> { E get(int index); default E get() { return get(0); } } Это будет первоначальный дизайн интерфейса. Является ли что-то подобное приемлемым использованием метода по умолчанию (в основном для аргументов по умолчанию)…
15 фев '17 в 21:01
1
ответ
Когда часы помещаются в точку останова, отладчик Java показывает упакованное целое число вместо примитива int
Этот простой пример демонстрирует проблему: public class Main { interface Person { default int amountOfHands() { return 2; } } public static class BasicPerson implements Person { int numberOfFaces() { return 1; } } public static void main(String[] a…
04 май '15 в 23:24
1
ответ
По какой причине синхронизация не допускается в интерфейсных методах Java 8?
В Java 8 я могу легко написать: interface Interface1 { default void method1() { synchronized (this) { // Something } } static void method2() { synchronized (Interface1.class) { // Something } } } Я получу полную семантику синхронизации, которую я мо…
04 май '14 в 07:06
1
ответ
Почему я не могу создать метод по умолчанию в интерфейсе?
Я просто новичок и изучаю интерфейсы. Я попытался прочитать некоторые вопросы здесь, прежде чем опубликовать это. Но, похоже, это слишком сложно для меня. И они говорят о методах объекта по умолчанию. В моем случае я пытаюсь создать метод по умолчан…
08 апр '18 в 13:08
3
ответа
По умолчанию метод интерфейса Java 8 не объявляет свойство
В моем приложении я столкнулся с проблемой, заключающейся в том, что, когда метод получения по умолчанию в классе используется по умолчанию только в интерфейсе (функция Java 8), в результате отсутствует свойство Java Beans. Т.е. для обычного вызова …
29 июл '15 в 14:34
4
ответа
Расширение списка<T> в Java 8
Я часто хочу отобразить один список в другой. Например, если бы у меня был список людей, и я хотел бы получить список их имен, я бы хотел сделать: ЦЕЛЬ List<Person> people = ... ; List<String> names = people.map(x -> x.getName()); Неч…
10 мар '14 в 18:53
1
ответ
Java 8: автоматическая компоновка методов по умолчанию для нескольких интерфейсов
У меня есть класс реализует несколько интерфейсов, которые имеют один и тот же метод по умолчанию. Мне интересно, как я могу составить метод по умолчанию из всех интерфейсов. Например: interface IA { default void doA() {} default void process() { //…
29 мар '17 в 09:50
2
ответа
Статические публичные методы и нестатические методы по умолчанию в интерфейсах
Просматривая исходный код интерфейса java.util.Collections для Java 1.8, я заметил это, default boolean removeIf(Predicate<? super E> filter) { .... } Так, начиная с 1.8, java позволяет методам в интерфейсах определять тела. Однако есть нескол…
01 апр '15 в 19:05
3
ответа
Метод суперкласса и разрешение конфликтов методов интерфейса по умолчанию
Рассмотрим приведенный ниже пример, public class Testing extends SupCls implements Intf { public static void main(String[] args) { new Testing().test(); } } class SupCls { public void test() { System.out.println("From SupCls"); } } interface Intf { …
09 сен '15 в 04:59
3
ответа
Java8 медленная компиляция для интерфейсов с тысячами методов по умолчанию с тем же именем
Учитывая интерфейсы (которые очень большие и генерируются из языковых определений): interface VisitorA { default void visit(ASTA1 node) {...} ... default void visit(ASTA2000 node) {...} } interface VisitorB extends VisitorA { default void visit(ASTB…
23 авг '16 в 22:08
0
ответов
@JvmDefault не найден sourceCompatibility/targetCompatibility, назначенное переменной проекта
Я хочу предоставить реализацию по умолчанию для метода в моем интерфейсе Kotlin: interface INavItem : Comparable<INavItem> { val order: Int @JvmDefault override fun compareTo(other: INavItem): Int = order.compareTo(other.order) } но @JvmDefaul…
12 ноя '18 в 06:53
3
ответа
Изменение видимости метода Java по умолчанию 8
У меня есть class (Сказать FOO) и у него есть метод с default видимость, как показано ниже: void sayHi() {} Теперь, если переопределить этот метод в расширении класса, я не могу уменьшить его видимость. Так что я могу использовать только default или…
05 дек '17 в 12:58
0
ответов
Gluon встроенный retrolambda с активными методами по умолчанию
Если я посмотрю на вывод androidInstall на моем проекте, я вижу это: > Task :applyRetrolambda Task ':applyRetrolambda' is not up-to-date because: ... Cached resource Successfully started process 'command 'C:\Program Files\Java\jdk1.8.0_191\bin\ja…
06 ноя '18 в 18:11