Implementace je jen jedna. Nic určovat nemusí.
Samozřejmě, jenže tazatel specifikuje "Obě tyto metody však slouží k naprosto jinému účelu a nijak spolu nesouvisí". Jak se v té jedné metodě rozhodne, který z těch dvou účelů zrovna nastal?
O implementaci se stara trida, ktera implementuje rozhrani. Ta proste udela, co ma v dane metode naimplementovane. Takze je to na Tobe co to udela. Interface jen rekne, jake dana metoda ma jmeno, jake parametry a co vrati.
Pokud ma kazda metoda jiny navratovy typ, tak se to neprelozi.
Pokud jeden s interface tu metodu implementuje jako default function v danem interface, tak ji MUSIS stejne implementovat v te Tride. Nevyuzije se implementace z interface.
Rozhodne bych to nedelal. Pouzit jednu implementacni tridu na vice rozhani doporucuji jen v extremnich pripadech,
treba kdyz chces, aby byl objekt dane tridy serializovatelny a zaroven implementoval nejaky jiny interface
public class Ddd implements Serializable, Ccc { ....
dalsi varianta je, ze dany objekt neni immutable a potrebujes napriklad opet serializaci
public class Fff implements Cloneable, Serializable { ....
Misto implementace dvou interface v jedne tride bych vetsinou implementoval dve tridy, kazda by implementovala jeden interface a pak bych vytvoril tridu, ktera ma oba interface jako parametry konstruktoru, pokud by tam byl duvod tridy pouzivat spolecne.
btw. dobry programator se pozna, ze sna spoustu pravidel a vi kdy je ma porusit
