Diferencias entre la clase abstracta y la interfaz en Java
en Java, la abstracción se logra utilizando clases abstractas e interfaces. Ambos contienen métodos abstractos que una clase hija o clase implementadora tiene que implementar. A continuación se presentan las diferencias importantes entre la clase abstracta y una interfaz.
Sr. No., | Clave | Resumen de la Clase | Interfaz |
---|---|---|---|
1 | Métodos Admitidos | clase Abstracta puede tener tanto un tanto abstractas como concretas métodos. | la interfaz solo puede tener métodos abstractos. Java 8 en adelante, puede tener métodos predeterminados y estáticos., |
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 | Inheritance | Abstract class puede heredar otra clase usando extends keyword e implementar una interfaz. | la interfaz solo puede heredar una inteface. |
7 | Herencia | clase Abstracta puede ser heredado usando la palabra clave extends. | la interfaz solo se puede implementar usando la palabra clave 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