Em Java, uma interface é um tipo abstrato que define um conjunto de métodos e constantes abstratos (ou nenhum método ou constante). Uma interface é uma convenção que especifica o comportamento que um determinado tipo de objeto deve ter.
Aqui estão algumas informações importantes sobre interfaces Java:
-
Definir interface :
Use
interface
a palavra-chave para definir a interface.interface MyInterface { // 声明抽象方法 void myMethod(); // 声明常量(默认为 public static final) int MY_CONSTANT = 10; }
-
Implementar interface :
Uma classe pode implementar uma ou mais interfaces,
implements
implementadas através da palavra-chave.class MyClass implements MyInterface { @Override public void myMethod() { System.out.println("Implementing myMethod"); } }
-
A diferença entre interface e classe abstrata :
- Os métodos nas interfaces são abstratos por padrão e não contêm corpos de métodos; classes abstratas podem conter métodos abstratos e métodos concretos.
- Uma classe pode implementar múltiplas interfaces, mas só pode herdar de uma classe.
- Os campos na interface são do
public static final
tipo padrão, ou seja, constantes; classes abstratas podem conter campos de vários tipos.
-
Herança múltipla de interfaces :
Uma interface pode herdar de múltiplas interfaces.
interface InterfaceA { void methodA(); } interface InterfaceB { void methodB(); } interface InterfaceC extends InterfaceA, InterfaceB { void methodC(); }
-
Método padrão :
Java 8 introduziu métodos padrão de interfaces, que podem fornecer implementações padrão de métodos em interfaces.
interface MyInterface { void myMethod(); default void defaultMethod() { System.out.println("Default method implementation"); } }
-
Método estático :
Java 8 também introduziu métodos estáticos em interfaces.
interface MyInterface { void myMethod(); static void staticMethod() { System.out.println("Static method in interface"); } }
-
Aplicações práticas da interface :
- Interfaces são utilizadas para implementar polimorfismo, o que permite que diferentes classes tenham a mesma interface comportamental, mas em métodos de implementação diferentes.
- Uma interface é uma convenção de design usada para descrever quais métodos e constantes uma classe deve ter.
- A biblioteca padrão Java usa interfaces extensivamente, como
java.util.List
interfaces.
Interface é um conceito muito importante em Java, pois fornece uma maneira de organizar e padronizar a estrutura do código e oferece suporte a polimorfismo mais flexível.