Metodi predefiniti nelle interfacce

Metodi predefiniti nelle interfacce

Nella programmazione Java, ci possono essere casi in cui lo sviluppatore deve aggiungere varie funzionalità utilizzando sia "interfacce" E "classi". Ad esempio, ordinare le funzionalità separatamente considerando la loro associazione. In tali casi, il "Metodi predefiniti"Nelle interfacce aiuta il programmatore nell'ordinamento e nell'accesso ai dati in modo efficace.

Questo articolo approfondirà l'uso e l'implementazione del Java "Metodi predefiniti"Nelle interfacce.

Quali sono i metodi predefiniti nelle interfacce in Java?

IL "Metodi predefiniti"Nelle interfacce forniscono una funzionalità aggiuntiva al tipo dato senza interrompere le classi di implementazione. Questi metodi sono accumulati all'interno dell'interfaccia e non sono assorbiti.

Sintassi

interfaccia pubblica interfacename
void ABC ();
predefinito void xyz ()
//corpo

In questa sintassi:

  • "ABC"È un metodo astratto.
  • "XYZ"È il metodo predefinito.

Esempio 1: implementazione del metodo predefinito da un file di interfaccia separato

In questo esempio, un'interfaccia può essere implementata da un file esterno e il metodo predefinito dell'interfaccia può essere importato ed eseguito da questo file tramite un oggetto di classe.

Codice di interfaccia

Panoramica le seguenti righe di codice:

Roll di interfaccia pubblica
void name ();
void rollno () )
Sistema.fuori.println ("roll no is: 1");

Nel file di interfaccia, eseguire i seguenti passaggi:

  • In primo luogo, crea un'interfaccia chiamata "rotolo".
  • All'interno di questa interfaccia, in primo luogo, specifica il metodo astratto "Nome()".
  • Ora, definisci il metodo predefinito chiamato "rollno ()"Visualizzazione del messaggio dichiarato.

Codice di classe

Passiamo al codice di classe sotto fornito:

Class Student implementa Roll
public void name ()
Sistema.fuori.println ("Il nome è: Harry");

Classe pubblica Interfacedefault
public static void main (string args [])
Object studente = nuovo studente ();
oggetto.Nome();
oggetto.rollno ();

Nella classe, applica i passaggi sotto forniti:

  • Definisci la classe "Alunno"Implementazione dell'interfaccia discussa, i.e., "rotolo".
  • Nella classe, definisci il metodo astratto "Nome()"Specificato nell'interfaccia.
  • Nel principale, crea un oggetto della classe chiamato "oggetto" usando il "nuovo"Parola chiave e"Alunno()"Costruttore, rispettivamente.
  • Successivamente, invoca i metodi di interfaccia astratti e predefiniti facendo riferimento all'oggetto di classe, rispettivamente.

Produzione

Dall'output di cui sopra, si può osservare che il metodo predefinito dall'interfaccia è implementato nella classe in modo appropriato.

Esempio 2: implementazione di metodi predefiniti e statici dall'interfaccia definita nello stesso file

In questo esempio particolare, l'interfaccia definita può essere implementata nello stesso file e i metodi predefiniti e statici possono essere invocati in "principale":

interfaccia xyz
void defmet ()
Sistema.fuori.println ("predefinito!");

static void statmeth (string msg)
Sistema.fuori.println (msg);

la classe defmeth implementa xyz
public void classFunc (String val)
Sistema.fuori.println (val);

Classe pubblica Interface1
public static void main (string [] args)
defmeth object = new defmeth ();
oggetto.defmet ();
XYZ.Statmeth ("statico!");
oggetto.ClassFunc ("Funzione di classe!");

Applicare i seguenti passaggi come previsto dallo snippet di codice sopra:

  • Allo stesso modo, dichiarare un'interfaccia chiamata "XYZ".
  • Successivamente, definisci i metodi predefiniti e statici chiamati "defmet ()" E "statMeth ()"Visualizzazione del messaggio dato e superato l'argomento, rispettivamente.
  • Ora, specifica la classe denominata "defmeth"Implementazione dell'interfaccia.
  • All'interno di questa classe, definire la funzione "ClassFunc ()"Registrazione del messaggio fornito.
  • Nel "principale"Crea un oggetto della classe che ricorda l'approccio discusso.
  • Nel passaggio successivo, fare riferimento al metodo dell'interfaccia predefinita "defmet ()".
  • Inoltre, indica il metodo statico accumulato, i.e., "Statmeth"All'interno dell'interfaccia facendo riferimento ad esso (interfaccia).
  • Nota: IL "statico"Il metodo è invocato indipendentemente dall'oggetto creato.
  • Infine, invoca la funzione di classe contenuta "ClassFunc ()"Passando l'argomento della stringa dichiarata.

Produzione

In questo risultato, si può implicare che i messaggi corrispondenti contro ciascuno dei metodi invocati vengano visualizzati di conseguenza.

Conclusione

Il Java "Metodi predefiniti"Nelle interfacce sono implementate nelle interfacce. Questi metodi possono essere invocati con l'aiuto di istanze di classe e fornire funzionalità aggiunte. Questi metodi hanno un corpo a differenza di "Metodi astratti". Questo blog ha discusso dell'implementazione dei metodi predefiniti Java nelle interfacce.