Conteúdo do Curso
Java OOP
Java OOP
Métodos Estáticos
Interface.method()
Métodos estáticos em interfaces foram introduzidos no Java 8 para fornecer mais flexibilidade e recursos de programação funcional. Eles permitem definir métodos que não exigem uma instância de uma classe e podem ser chamados diretamente pelo nome da interface. Veja informações mais detalhadas sobre métodos estáticos em interfaces:
Definição de Métodos Estáticos
Um método estático é declarado usando a palavra-chave static
e possui um corpo de método com implementação. Veja como declarar um método estático em uma interface:
MyInterface.java
public interface MyInterface { static void staticMethod() { // Implementation of the static method // ... } }
Nota
Já abordamos o conceito de métodos estáticos neste capítulo, portanto, você pode revisar e relembrar o conteúdo
Chamada de Métodos Estáticos:
É possível chamar um método estático de uma interface diretamente pelo nome da interface, sem a necessidade de criar uma instância de uma classe. Veja como chamar um método estático:
MyInterface.staticMethod();
Utilização de Métodos Estáticos
Métodos estáticos em interfaces podem fornecer funções utilitárias comuns a todas as classes que implementam a interface. Também podem ser usados para agrupar funções relacionadas dentro da interface.
Sobrescrita de Métodos Estáticos
Métodos estáticos em interfaces não podem ser sobrescritos nas classes que implementam a interface. Isso significa que a invocação de um método estático dependerá apenas do tipo da interface, e não da implementação específica.
Class.java
public class Class() implements MyInterface { @Override // error will be produced here static void staticMethod() { // Implementation of the static method } }
O uso de métodos static
em interfaces aumenta a flexibilidade e as capacidades da linguagem Java. Eles permitem definir métodos comuns acessíveis por meio da interface sem a necessidade de criar instâncias de classes. Esta é uma ferramenta útil para simplificar o código, organizar utilitários e alcançar melhor modularidade do programa.
1. Como chamar um método estático definido em uma interface?
2. Métodos estáticos em interfaces podem ser sobrescritos em classes que implementam?
Obrigado pelo seu feedback!