NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Diamond problem - vysvětlení o co přesně jde

V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Lu Kiss
Člen
Avatar
Lu Kiss:13.4.2015 15:40

Ahoj, při zkoumaní rozdílů mezi interfacem a abstraktní třídou jsem narazil na to, že interface nemůže mít instanční proměnně a s tím souvisí diamond problem. Pořád však ale nechápu o čem tento problém je. Pochopil jsem jenom že pokud existuje třída D která implementuje rozhraní B a C, které implemenují A, a v každém rozhraní bude nějaká metoda, tak při volání této metody ve třídě D nebude jasné odkud se má zavolat z A, B nebo C.
Děkuji.

 
Odpovědět
13.4.2015 15:40
Avatar
Hartrik
Tvůrce
Avatar
Odpovídá na Lu Kiss
Hartrik:13.4.2015 16:20

Pokud mají metody stejnou signaturu, tak se v konkrétní třídě implementují pouze jednou. Diamond problem nastává u defaultních metod (Java 8 ), zde je nutné implementovat danou metodu znovu.

Editováno 13.4.2015 16:20
 
Nahoru Odpovědět
13.4.2015 16:20
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.