Hur man implementerar markörgränssnitt i Java?



Denna artikel kommer att informera dig om en intressant aspekt av gränssnitt som kallas markörgränssnitt i Java och följa upp den med implementeringen.

Denna artikel kommer att informera dig om en intressant aspekt av gränssnitt som kallas Marker Interface In och följa upp det med implementeringen. Följande tips kommer att behandlas i den här artikeln,

Så låt oss komma igång då,





Markörgränssnitt är ett gränssnitt som är tomt, dvs det innehåller inga metoder eller fält. Det är också känt som ett tagggränssnitt och används för att indikera eller informera JVM om att en klass som implementerar detta gränssnitt kommer att ha något speciellt beteende. Ett effektivt sätt att klassificera kod kan uppnås med hjälp av markörgränssnittet. Exempel på ett sådant gränssnitt är: Serializable, Cloneable och Remote Interface.

Flytta med den här artikeln om Marker Interface i Java



Serialiserbart gränssnitt

Serialisering i java kan definieras som processen att konvertera ett objekts tillstånd till en byte-ström. Detta kan uppnås med hjälp av det serieiserbara gränssnittet som finns i java.io.package. Det måste noteras att alla undertyper av en serie som klassificeras kan själva serienummeras.

Exempel:

importera java.io. * klass Huvudredskap Serierbart {int j Sträng s // En klasskonstruktör offentlig Main (int j, String s) {this.j = j this.s = s}} public class Test {public static void main (String [] args) kastar IOException, ClassNotFoundException {Main obj = new Main (25, 'HelloWorld') // Serializing 'obj' FileOutputStream fos = new FileOutputStream ('pqr.txt') ObjectOutputStream oos = new ObjectOutputStream (fos) oos .writeObject (obj) // Avserialisering av 'obj' FileInputStream fis = new FileInputStream ('pqr.txt') ObjectInputStream ois = new ObjectInputStream (fis) Main b = (Main) ois.readObject () // down-casting object System.out.println (b.j + '' + bs) // stänga strömmar oos.close () ois.close ()}}

Produktion:
25 HelloWorld



Flytta med den här artikeln om Marker Interface i Java

Klonabelt gränssnitt:

Detta gränssnitt finns i paketet java.lang. Kloning är mekanismen för att generera en replika eller en exakt kopia av ett objekt med ett annat namn.
Det klonbara gränssnittet implementeras av en klass för att indikera för objektet.clone () -metoden att det är lagligt för metoden att göra en fält-för-fält-kopia av instanser av den klassen.
En CloneNotSupportedException kastas för en klass som åberopar klonmetoden utan att implementera ett klonbart gränssnitt.

Exempel:

importera java.lang.Cloneable-klass javaClone implementerar Cloneable {int j String s // Definiera en klasskonstruktör offentlig javaClone (int j, String s) {this.j = j this.s = s} // Overriding clone () -metod @ Åsidosätta skyddad objektklon () kastar CloneNotSupportedException {returnera super.clone ()}} allmän klass Huvud {offentlig statisk ogiltig huvud (String [] args) kastar CloneNotSupportedException {javaClone c = ny javaClone (18, 'HelloWorld') // kloning ' c 'och håller // ny klonad objektreferens i b // ned-casting javaClone b = (javaClone) c.clone () System.out.println (bj) System.out.println (bs)}}

Produktion:
18
Hej världen

Flytta med den här artikeln om Marker Interface i Java

Fjärrgränssnitt:

Ett fjärrobjekt kan definieras som ett objekt vars metoder kan åberopas från en annan JVM, eventuellt på en annan värd. Detta gränssnitt finns i paketet java.rmi. Ett avlägset objekt måste implementera denna metod direkt eller indirekt.

RMI:

Remote Method Convocation är ett API som gör det möjligt för ett objekt att anropa metoder på ett objekt som körs i en annan JVM. Det ger fjärrkommunikation mellan de två applikationerna med följande objekt: stub och skelett.

Stump:

En stub kan definieras som ett objekt som finns på klientsidan och representerar fjärrobjektet. Det skapar ett informationsblock som består av:
α Identifierare för fjärrobjektet
α Namn på metoden som ska åberopas
α Parametrar till fjärr-JVM

vad är en primär nyckelbegränsning

Skelett:

Skelettobjektets huvudsakliga jobb är att skicka förfrågningarna från stubben till fjärrobjektet. Dessutom utför den de uppgifter som anges nedan:
α Den åberopar den önskade metoden på det ursprungliga fjärrobjektet
α Läser parametern som anges för fjärrobjektet

Flytta med den här artikeln om Marker Interface i Java

Steg för att implementera fjärrgränssnitt:

Definiera ett fjärrgränssnitt:

importera java.rmi. * offentligt gränssnitt AddAll förlänger Fjärr {public int add (int r, int s) kastar RemoteException}

Här utökas fjärrgränssnittet och RemoteException deklareras med alla metoder för fjärrgränssnittet.

Flytta med den här artikeln om Marker Interface i Java

Implementera fjärrgränssnittet:

Det finns två sätt att ge implementering till fjärrgränssnittet:
α Utöka klassen UnicastRemoteObject
α Använd exportObject () -metoden i UnicastRemoteObject-klassen

importera java.rmi. * importera java.rmi.server. * public class AddAllRemote utökar UnicastRemoteObject implementerar Adder {AddAllRemote () kastar RemoteException {super ()} public int add (int r, int s) {return r + s}}

Skapa stubben och skelettobjekten med hjälp av rmic (rmi-kompilator).

Stubben och skelettobjekten kan skapas med hjälp av rmi-kompilatorn. Rmi-verktyget anropar RMI-kompilatorn för att skapa objekten.
rmic AddAllRemote

Starta registertjänsten med hjälp av rmiregistry-verktyget.

Registreringstjänsten kan startas med hjälp av rmregistry-verktyget. Ett standardportnummer används om det inte anges av användaren.
rmiregistry 5000

Flytta med den här artikeln om Marker Interface i Java

Skapa och starta fjärrprogrammet.

importera java.rmi. * importera java.rmi.registry. * public class Server {public static void main (String args []) {try {AddAll stub = new AddAllRemote () Naming.rebind ('rmi: // localhost: 5000 / sak ', stub)} catch (Undantag e) {System.out.println (e)}}

Det avlägsna objektet binds till namnet sak i exemplet ovan.

datatyp för datum i sql

Flytta med den här artikeln om Marker Interface i Java

Skapa och starta klientapplikationen.

I det givna exemplet körs servern och klientapplikationerna på samma maskin. Således görs användningen av localhost.

importera java.rmi. * public class Client {public static void main (String args []) {try {AddAll stub = (AddAll) Naming.lookup ('rmi: // localhost: 5000 / sak') System.out.println (stub.add (29,18))} fångst (undantag e) {}}}

För att komma åt fjärrobjektet från en annan maskin måste det lokala värdnamnet ändras till IP-adressen eller värdnamnet där fjärrobjektet finns.

Ett effektivt sätt att klassificera kod kan uppnås med hjälp av markörgränssnittet.

Således har vi kommit till ett slut på den här artikeln. Om du vill veta mer, kolla in av Edureka, ett pålitligt inlärningsföretag online. Edurekas Java J2EE- och SOA-utbildning och certifieringskurs är utformad för att träna dig för både grundläggande och avancerade Java-koncept tillsammans med olika Java-ramverk som Hibernate & Spring.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen på den här bloggen så kommer vi tillbaka till dig så snart som möjligt.