Wpis z mikrobloga

@bartixon: w interfejsie definiujesz tylko metody, ale implementacja tych metod w klasie która implementuje interfejs jest dowolna. poza tym definicje są zawsze na publicu. jeżeli chodzi o klasy abstrakcyjne, to możesz zdefiniować tam i zaimplementować dowolne pola oraz metody, ale nie możesz stworzyć obiektu typu klasy abstrakcyjnej. jedynie możesz stworzyć subclasse, która dziedziczy po abstrakcyjnej klasie i masz dostęp do metod/pól zdefiniowanych w interfejsie.
@bartixon: @PrzegrywWykopek: @Moonday: no i w Javie dana klasa może dziedziczyć tylko po jednej klasie. Klasa jest abstrakcyjna, kiedy ma jedną metodę abstrakcyjną. W interfejsach do niedawna pola i metody mogły być tylko publiczne, finalne i statyczne. Od Javy 8 dla metod jest identyfikator default. Wraz z wersją 8 pojawiły się interfejsy funkcyjne (link#1). Zapowiada się, że w Javie 9 można będzie mieć w interfejsie prywatne metody