Mogę się mylić, ale tak interpretowałem tę sekcję.
"default-default" i "default-abstract" nie są słowami kluczowymi. Opisują dwie różne reguły konfliktów kompilacji dotyczące domyślnych metod w interfejsie.
"default-default" odnoszący się do klasy implementującej dwa lub więcej interfejsów, które zapewniają domyślne implementacje zastąpienia równoważnych metod, nie zapewniając jednak własnej implementacji.
"domyślny-abstrakt" odnoszący się do klasy implementującej jeden interfejs, który zapewnia domyślną implementację i jeden lub więcej interfejsów niewprowadzających domyślnych implementacji zastępowania równoważnych metod.
Wyjątkiem od tych dwóch reguł jest sytuacja, w której super klasa danej klasy określa abstrakcyjną metodę, która zastępuje równoważnik, co przebija definicje znalezione w dowolnym interfejsie implementacyjnym.
Jeśli klasa dziedziczy metodę zastępowania konkretnej konkretnej z klasy super lub definiuje własną, wówczas żaden z tych konfliktów nie ma zastosowania.
Przybiłeś to. Po prostu go przetestowałem i tak naprawdę to działa. – olovb