Métodos padrão em interfaces

Métodos padrão em interfaces

Na programação Java, pode haver casos em que o desenvolvedor precisa anexar vários recursos usando os dois “interfaces" e "Aulas”. Por exemplo, classificar as funcionalidades separadamente considerando sua associação. Nesses casos, o “Métodos padrão”Nas interfaces, ajudam o programador a classificar e acessar os dados efetivamente.

Este artigo elaborará o uso e a implementação do Java “Métodos padrão”Em interfaces.

Quais são os métodos padrão em interfaces em java?

O "Métodos padrão”Nas interfaces fornecem uma funcionalidade adicional ao tipo fornecido sem interromper as classes implementadoras. Esses métodos são acumulados dentro da interface e não são de tração.

Sintaxe

interface pública interfacename
vazio abc ();
Void padrão XYZ ()
//corpo

Nesta sintaxe:

  • ““abc”É um método abstrato.
  • ““XYZ”É o método padrão.

Exemplo 1: Implementando o método padrão de um arquivo de interface separado

Neste exemplo, uma interface pode ser implementada a partir de um arquivo externo, e o método padrão da interface pode ser importado e executado a partir deste arquivo por meio de um objeto de classe.

Código da interface

Visão geral As seguintes linhas de código:

Rolo de interface pública
name vazio ();
Void Rollno () padrão
Sistema.fora.println ("roll não é: 1");

No arquivo de interface, execute as seguintes etapas:

  • Em primeiro lugar, crie uma interface chamada “rolar”.
  • Dentro dessa interface, primeiro, especifique o método abstrato “Nome()”.
  • Agora, defina o método padrão chamado “Núm. da lista()”Exibindo a mensagem declarada.

Código de classe

Vamos passar para o código de classe abaixo fornecido:

classe de aluno implementos roll
public void name ()
Sistema.fora.println ("O nome é: Harry");

classe pública interfaceDefault
public static void main (string args [])
Objeto do aluno = novo aluno ();
objeto.Nome();
objeto.Núm. da lista();

Na classe, aplique as etapas abaixo fornecidas:

  • Defina a classe “Estudante”Implementando a interface discutida, eu.e., ““rolar”.
  • Na classe, defina o método abstrato “Nome()”Especificado na interface.
  • Em geral, crie um objeto da classe chamado “objeto”Usando o“novo"Palavra -chave e a"Estudante()”Construtor, respectivamente.
  • Depois disso, invocar os métodos de interface abstrato e padrão, referindo -se ao objeto de classe, respectivamente.

Saída

Na saída acima, pode -se observar que o método padrão da interface é implementado na classe adequadamente.

Exemplo 2: Implementando métodos padrão e estáticos da interface definida no mesmo arquivo

Neste exemplo em particular, a interface definida pode ser implementada no mesmo arquivo e os métodos padrão e estáticos podem ser invocados no “principal”:

Interface XYZ
padrão void defmet ()
Sistema.fora.println ("padrão!");

Static Void Statmeth (String msg)
Sistema.fora.println (msg);

classe Defmeth implementa XYZ
public void Classfunc (String val)
Sistema.fora.println (val);

classe pública interface1
public static void main (string [] args)
DefMeth Object = new DefMeth ();
objeto.DefMet ();
XYZ.Statmeth ("estático!");
objeto.Classfunc ("função de classe!");

Aplique as etapas a seguir, conforme fornecido no trecho de código acima:

  • Da mesma forma, declare uma interface chamada “XYZ”.
  • Depois disso, defina os métodos padrão e estáticos chamados “DefMet ()" e "statmeth ()”Exibindo a mensagem dada e o argumento aprovado, respectivamente.
  • Agora, especifique a classe chamada “Defmeth”Implementando a interface.
  • Dentro desta classe, defina a função “Classfunc ()”Registrando a mensagem fornecida.
  • No "principal”, Crie um objeto da classe que lembra a abordagem discutida.
  • Na próxima etapa, consulte o método de interface padrão “DefMet ()”.
  • Além disso, aponte para o método estático acumulado, eu.e., ““Statmeth”Dentro da interface, referindo -se a ele (interface).
  • Observação: O "estático”O método é invocado independentemente do objeto criado.
  • Por fim, invoco a função de classe contida “Classfunc ()”Ao passar o argumento de string declarado.

Saída

Nesse resultado, pode estar implícito que as mensagens correspondentes contra cada um dos métodos invocados são exibidos de acordo.

Conclusão

O java “Métodos padrão”Nas interfaces são implementadas em interfaces. Esses métodos podem ser invocados com a ajuda de instâncias de classe e fornecem recursos adicionais. Esses métodos têm um corpo diferente do “Métodos abstratos”. Este blog discutiu a implementação dos métodos padrão Java em interfaces.