Rozdíly mezi abstraktní třídou a rozhraním v Javě
v Javě je abstrakce dosažena pomocí abstraktních tříd a rozhraní. Oba obsahují abstraktní metody, které musí implementovat dětská třída nebo implementační třída. Následují důležité rozdíly mezi abstraktní třídou a rozhraním.
Sr Ne., | Klíč | Abstraktní Třída | Rozhraní |
---|---|---|---|
1 | Podporované Metody | Abstraktní třída může mít jak abstraktní i konkrétní metody. | rozhraní může mít pouze abstraktní metody. Java 8 dále, může mít výchozí i statické metody., |
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 | Dědictví | Abstraktní třída může zdědit jinou třídu pomocí rozšiřuje klíčové slovo a implementovat rozhraní. | rozhraní může zdědit pouze inteface. |
7 | Dědictví | Abstraktní třída může být zděděna použití rozšiřuje klíčové slovo. | rozhraní lze implementovat pouze pomocí implementuje Klíčové slovo., |
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