Użyłem funkcji refaktoryzacji "pull interface" w Eclipse już dziś, aby stworzyć interfejs oparty na istniejącej klasie. Okno dialogowe zaproponowało utworzenie wszystkich nowych metod nowego interfejsu jako metod "abstrakcyjnych".Dlaczego można zadeklarować metodę interfejsu Java jako abstrakcyjną?
Jakie byłyby tego korzyści?
Pomyślałem, że fakt, że można było zadeklarować metody interfejsu jako abstrakcyjne, był zbędną i nieszkodliwą cechą języka, który nie jest szczególnie zachęcający.
Dlaczego Eclipse miałby wspierać taki styl lub dlaczego ktoś dobrowolnie zdecydowałby się na taki styl?
Wyjaśnienie: Nie pytam, dlaczego metody interfejsu są abstrakcyjne, to oczywiste. Pytam, dlaczego ktoś zdecydowałby się wyraźnie oznaczyć je jako abstrakcyjne, ponieważ jeśli są one w interfejsie, to i tak są abstrakcyjne.
To było moje zrozumienie (chociaż nie byłem zaznajomiony z konkretną sekcją JLS). Zastanawiam się, dlaczego Eclipse zaoferowałby mi opcję tworzenia znaku obselete ... – Uri
Masz mnie. Ktoś gdzieś musiał zdecydować, że jest to pożądana "cecha" i umieścić ją. Wiesz, jeden z tych przebiegłych typów open-source :) – jdmichal
tsk tsk ... Bez ostrzeżenia, że jest obselete ... – Uri