2015-05-10 17 views

Odpowiedz

4

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.

+0

Przybiłeś to. Po prostu go przetestowałem i tak naprawdę to działa. – olovb