Klasa abstrakcyjna a Interfejs

Właściwości klasy abstrakcyjnej:

  • tworząc klasę abstrakcyjną musimy zaznaczyć, że taką chcemy utworzyć 🙂 czyli: public abstract class AbstractClass
  • klasa abstrakcyjna może mieć metody abstrakcyjne (muszą być oznaczone jako abstrakcyjne) czyli takie które nie mają ciała,
  • może również posiadać metody z ciałem czyli z implementacją,
  • klasa ta może dziedziczyć jak i można po niej dziedziczyć, może również implementować interfejs
  • nie da się utworzyć obiektu klasy abstrakcyjnej
  • co ciekawe klasa abstrakcyjna wcale nie musi mieć metod abstrakcyjnych
  • może posiadać zmienne statyczne
public abstract class AbstracClass {

public void doSomething()
{
System.out.println("method from abstract class");
}

public abstract void abstractDoSomething ();

}

Właściwości interfejsów:

  • interfejs co do zasady posiada metody bez ciała,
  • chcąc zaimplementować metodę w interfejsie musimy użyć słowa default
  • wszystkie metody muszą mieć modyfikator dostępu public
  • interfejs może implementować wiele interfejsów
public interface ExampleInterface {

public void doSomething ();

public default void defaultDoSomething ()
{
System.out.println("default method from interface");
}
}


Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *