Articles

Różnice między klasą abstrakcyjną a interfejsem w Javie

w Javie abstrakcja jest osiągana za pomocą klas abstrakcyjnych i interfejsów. Obie zawierają abstrakcyjne metody, które Klasa potomna lub klasa implementująca musi zaimplementować. Poniżej przedstawiono istotne różnice między klasą abstrakcyjną a interfejsem.

, Key Abstract Class interfejs
1 obsługiwane metody klasa abstrakcyjna może mieć zarówno metody abstrakcyjne, jak i konkretne. interfejs może mieć tylko metody abstrakcyjne. Java 8, może mieć zarówno metody domyślne, jak i statyczne.,
2 Multiple Inheritance Multiple Inheritance is not supported. Interface supports Multiple Inheritance.
3 Supported Variables final, non-final, static and non-static variables supported. Only static and final variables are permitted.,
4 Implementation Abstract class can implement an interface. Interface can not implement an interface, it can extend an interface.
5 Keyword Abstract class declared using abstract keyword. Interface is declared using interface keyword.,
6 dziedziczenie klasa abstrakcyjna może dziedziczyć inną klasę używając słowa kluczowego extends i zaimplementować interfejs. interfejs może dziedziczyć tylko interfejs inteface.
7 dziedziczenie klasa abstrakcyjna może być dziedziczona za pomocą słowa kluczowego extends. interfejs może być zaimplementowany tylko przy użyciu słowa kluczowego implements.,
8 Access Abstract class can have any type of members like private, public. Interface can only have public members.

Example of Abstract Class vs Interface

JavaTester.java

Output

Tiger eatsLion eats

Published on 26-Nov-2019 14:37:07

Advertisements