Hoe markeerinterface in Java te implementeren?



Dit artikel zal u informeren over een interessant aspect van Interfaces genaamd Marker Interface in Java en het opvolgen met implementatie.

Dit artikel zal u informeren over een interessant aspect van interfaces, genaamd Marker Interface In en volg het op met de implementatie. De volgende tips komen in dit artikel aan bod:

wat wordt toegevoegd in java

Dus laten we beginnen,





Marker-interface is een interface die leeg is, d.w.z. dat hij geen methoden of velden bevat. Het is ook bekend als een tag-interface en wordt gebruikt om aan te geven of de JVM te informeren dat een klasse die deze interface implementeert, een bepaald gedrag zal vertonen. Een efficiënte manier om code te classificeren kan worden bereikt met behulp van de markeringsinterface. Voorbeelden van zo'n interface zijn: Serializable, Cloneable en Remote Interface.

Verhuizen met dit artikel over Marker Interface in Java



Serialiseerbare interface

Serialisatie in java kan worden gedefinieerd als het proces waarbij de toestand van een object wordt geconverteerd naar een bytestroom. Dit kan worden bereikt door de serialiseerbare interface te gebruiken die aanwezig is in java.io.package. Opgemerkt moet worden dat alle subtypen van een serialiseerbare klasse zelf serialiseerbaar zijn.

Voorbeeld:

import java.io. * class Main implementeert Serializable {int j String s // A class constructor public Main (int j, String s) {this.j = j this.s = s}} public class Test {public static void main (String [] args) gooit IOException, ClassNotFoundException {Main obj = new Main (25, 'HelloWorld') // Serialiseren van 'obj' FileOutputStream fos = nieuw FileOutputStream ('pqr.txt') ObjectOutputStream oos = nieuw ObjectOutputStream (fos) oos .writeObject (obj) // De-serialisering van 'obj' FileInputStream fis = nieuw FileInputStream ('pqr.txt') ObjectInputStream ois = nieuw ObjectInputStream (fis) Main b = (Main) ois.readObject () // downcast-object System.out.println (b.j + '' + bs) // sluit streams oos.close () ois.close ()}}

Uitgang:
25 HalloWereld



Verhuizen met dit artikel over Marker Interface in Java

Cloneable interface:

Deze interface is te vinden in het pakket java.lang. Klonen is het mechanisme waarmee een replica of een exacte kopie van een object met een andere naam wordt gegenereerd.
De Cloneable Interface wordt geïmplementeerd door een klasse om aan de methode object.clone () aan te geven dat het legaal is voor de methode om een ​​veld-voor-veld-kopie te maken van instanties van die klasse.
Er wordt een CloneNotSupportedException gegenereerd voor een klasse die de kloonmethode aanroept zonder een kloonbare interface te implementeren.

Voorbeeld:

import java.lang.Cloneable class javaClone implementeert Cloneable {int j String s // Definiëren van een class constructor public javaClone (int j, String s) {this.j = j this.s = s} // Overriding clone () method @ Override protected Object clone () gooit CloneNotSupportedException {return super.clone ()}} public class Main {public static void main (String [] args) gooit CloneNotSupportedException {javaClone c = new javaClone (18, 'HelloWorld') // cloning ' c 'en vasthouden // nieuwe gekloonde objectreferentie in b // downcast javaClone b = (javaClone) c.clone () System.out.println (bj) System.out.println (bs)}}

Uitgang:
18
Hallo Wereld

Verhuizen met dit artikel over Marker Interface in Java

Externe interface:

Een object op afstand kan worden gedefinieerd als een object waarvan de methoden kunnen worden aangeroepen vanaf een andere JVM, mogelijk op een andere host. Deze interface is te vinden in het pakket java.rmi. Een object op afstand moet deze methode direct of indirect implementeren.

KMI:

Remote Method Convocation is een API waarmee een object methoden kan aanroepen voor een object dat in een andere JVM wordt uitgevoerd. Het biedt communicatie op afstand tussen de twee applicaties met behulp van de volgende objecten: stomp en skelet.

samenvoegen sorteren in c ++

Stomp:

Een stub kan worden gedefinieerd als een object dat aanwezig is aan de clientzijde en het externe object vertegenwoordigt. Het creëert een informatieblok dat bestaat uit:
α Identificatie van het object op afstand
α Naam van de methode die moet worden aangeroepen
α Parameters voor de externe JVM

Skelet:

De belangrijkste taak van het skeletobject is om de verzoeken van de stub door te geven aan het object op afstand. Bovendien voert het de onderstaande taken uit:
α Het roept de gewenste methode op het oorspronkelijke object op afstand aan
α Leest de parameter die is opgegeven voor het externe object

Verhuizen met dit artikel over Marker Interface in Java

Stappen om externe interface te implementeren:

Definieer een externe interface:

import java.rmi. * public interface AddAll breidt Remote uit {public int add (int r, int s) gooit RemoteException}

Hier wordt de externe interface uitgebreid en wordt RemoteException gedeclareerd met alle methoden van de externe interface.

Verhuizen met dit artikel over Marker Interface in Java

Implementeer de externe interface:

Er zijn twee manieren om implementatie te bieden aan de externe interface:
α Breid de klasse UnicastRemoteObject uit
α Gebruik de methode exportObject () van de klasse UnicastRemoteObject

import java.rmi. * import java.rmi.server. * public class AddAllRemote breidt UnicastRemoteObject implementeert Adder {AddAllRemote () gooit RemoteException {super ()} public int add (int r, int s) {return r + s}}

Gebruik rmic (rmi-compiler) om de stub- en skeleton-objecten te maken.

De stub- en skeleton-objecten kunnen worden gemaakt met behulp van de rmi-compiler. De rmi-tool roept de RMI-compiler op om de objecten te maken.
rmic AddAllRemote

Start de registerservice met behulp van de rmiregistry-tool.

De registerservice kan worden gestart met het hulpprogramma rmregistry. Er wordt een standaardpoortnummer gebruikt als dit niet door de gebruiker is opgegeven.
rmiregistry 5000

Verhuizen met dit artikel over Marker Interface in Java

Maak en start de externe applicatie.

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

Het externe object is gebonden aan de naam sak in het bovenstaande voorbeeld.

Verhuizen met dit artikel over Marker Interface in Java

Maak en start de clienttoepassing.

In het gegeven voorbeeld worden de server- en clienttoepassingen op dezelfde machine uitgevoerd. Er wordt dus gebruik gemaakt van localhost.

import java.rmi. * public class Client {public static void main (String args []) {probeer {AddAll stub = (AddAll) Naming.lookup ('rmi: // localhost: 5000 / sak') System.out.println (stub.add (29,18))} catch (uitzondering e) {}}}

Om toegang te krijgen tot het externe object vanaf een andere machine, moet de lokale hostnaam worden gewijzigd in het IP-adres of de hostnaam waar het externe object zich bevindt.

wat is pojo-klasse in java

Een efficiënte manier om code te classificeren kan worden bereikt met behulp van de markeringsinterface.

Hiermee zijn we aan het einde gekomen van dit artikel. Als je meer wilt weten, bekijk dan de door Edureka, een vertrouwd online leerbedrijf. Edureka's Java J2EE- en SOA-trainings- en certificeringscursus is ontworpen om u te trainen in zowel kern- als geavanceerde Java-concepten samen met verschillende Java-frameworks zoals Hibernate & Spring.

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van deze blog en we nemen zo snel mogelijk contact met je op.