Articles

Differenze tra classe astratta e interfaccia in Java

In Java, l’astrazione si ottiene utilizzando classi astratte e interfacce. Entrambi contengono metodi astratti che una classe figlio o una classe di implementazione deve implementare. Di seguito sono riportate le importanti differenze tra la classe astratta e un’interfaccia.

Sr. n., Chiave Classe Astratta Interfaccia
1 Metodi classe Astratta può avere una astratta così come i metodi concreti. L’interfaccia può avere solo metodi astratti. Java 8 in poi, può avere metodi predefiniti e statici.,
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 Ereditarietà La classe astratta può ereditare un’altra classe usando la parola chiave extends e implementare un’interfaccia. Interfaccia può ereditare solo un inteface.
7 Ereditarietà La classe astratta può essere ereditata usando la parola chiave extends. L’interfaccia può essere implementata solo utilizzando la parola chiave 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