Cum se implementează interfața Marker în Java?



Acest articol vă va informa cu privire la un aspect interesant al interfețelor denumit Marker Interface In Java și îl va urmări cu implementarea.

Acest articol vă va informa cu privire la un aspect interesant al interfețelor denumit Marker Interface In și urmăriți-l cu implementarea. Următoarele indicații vor fi tratate în acest articol,

Deci, hai să începem atunci,





Interfața Marker este o interfață goală, adică nu conține metode sau câmpuri. Este, de asemenea, cunoscut sub numele de interfață de etichetare și este utilizat pentru a indica sau informa JVM că o clasă care implementează această interfață va avea un comportament special. O modalitate eficientă de clasificare a codului poate fi realizată folosind interfața marker. Exemple de astfel de interfețe sunt: ​​interfață serializabilă, clonabilă și la distanță.

Trecem cu acest articol despre Marker Interface în Java



Interfață serializabilă

Serializarea în java poate fi definită ca procesul de conversie a stării unui obiect într-un flux de octeți. Acest lucru poate fi realizat utilizând interfața serializabilă care este prezentă în java.io.package. Trebuie remarcat faptul că toate subtipurile unei clase serializabile sunt ele însele serializabile.

Exemplu:

import java.io. * class Main implements Serializable {int j String s // Un constructor de clasă public Main (int j, String s) {this.j = j this.s = s}} public class Test {public static void main (String [] args) aruncă IOException, ClassNotFoundException {Main obj = new Main (25, 'HelloWorld') // Serializarea 'obj' FileOutputStream fos = new FileOutputStream ('pqr.txt') ObjectOutputStream oos = new ObjectOutputStream (fos) oos .writeObject (obj) // De-serializare 'obj' FileInputStream fis = new FileInputStream ('pqr.txt') ObjectInputStream ois = new ObjectInputStream (fis) Main b = (Main) ois.readObject () // obiect down-casting System.out.println (b.j + '' + bs) // închiderea fluxurilor oos.close () ois.close ()}}

Ieșire:
25 HelloWorld



Trecem cu acest articol despre Marker Interface în Java

Interfață clonabilă:

Această interfață poate fi găsită în pachetul java.lang. Clonarea este mecanismul generării unei replici sau a unei copii exacte a unui obiect cu un nume diferit.
Interfața clonabilă este implementată de o clasă pentru a indica metodei object.clone () că este legal ca metoda să facă o copie câmp pentru câmp a instanțelor acelei clase.
O CloneNotSupportedException este aruncată pentru o clasă care invocă metoda clonării fără a implementa o interfață clonabilă.

Exemplu:

import java.lang.Cloneable class javaClone implements Cloneable {int j String s // Definirea unui constructor de clasă public javaClone (int j, String s) {this.j = j this.s = s} // Metoda clonei suprasolicitante () @ Anulați clona obiectului protejat () aruncă CloneNotSupportedException {return super.clone ()}} clasă publică Main {public static void main (String [] args) aruncă CloneNotSupportedException {javaClone c = new javaClone (18, 'HelloWorld') // clonare c 'și menținerea // referință obiect nou clonat în b // down-casting javaClone b = (javaClone) c.clone () System.out.println (bj) System.out.println (bs)}}

Ieșire:
18
Salut Lume

este ușor de învățat

Trecem cu acest articol despre Marker Interface în Java

Interfață la distanță:

Un obiect la distanță poate fi definit ca un obiect ale cărui metode pot fi invocate de la o altă JVM, potențial pe o altă gazdă. Această interfață se găsește în pachetul java.rmi. Un obiect la distanță trebuie să implementeze această metodă direct sau indirect.

RMI:

Convocarea metodelor la distanță este un API care permite unui obiect să invoce metode pe un obiect care rulează într-o altă JVM. Oferă comunicații la distanță între cele două aplicații folosind următoarele obiecte: stub și schelet.

Ciot:

Un butuc poate fi definit ca un obiect care este prezent la partea clientului și reprezintă obiectul la distanță. Se creează un bloc de informații care constă din:
α Identificator al obiectului la distanță
α Numele metodei care trebuie invocată
α Parametri la JVM la distanță

Schelet:

Sarcina principală a obiectului schelet este de a transmite cererile din butuc către obiectul de la distanță. În plus, îndeplinește sarcinile date mai jos:
α Invocă metoda dorită asupra obiectului de la distanță original
α Citește parametrul specificat pentru obiectul la distanță

Trecem cu acest articol despre Marker Interface în Java

Pași pentru implementarea interfeței la distanță:

Definiți o interfață la distanță:

import java.rmi. * interfață publică AddAll extinde Remote {public int add (int r, int s) aruncă RemoteException}

Aici, interfața la distanță este extinsă, iar RemoteException este declarată cu toate metodele interfeței la distanță.

Trecem cu acest articol despre Marker Interface în Java

cadru bazat pe cuvinte cheie în seleniu

Implementați interfața la distanță:

Există două modalități de a furniza implementarea interfeței la distanță:
α Extindeți clasa UnicastRemoteObject
α Utilizați metoda exportObject () a clasei UnicastRemoteObject

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

Folosind rmic (compilator rmi), creați obiectele stub și schelet.

Obiectele stub și schelet pot fi create utilizând compilatorul rmi. Instrumentul rmi invocă compilatorul RMI pentru a crea obiectele.
rmic AddAllRemote

Folosind instrumentul rmiregistry, porniți serviciul de registry.

Serviciul de registry poate fi pornit utilizând instrumentul rmregistry. Se utilizează un număr de port implicit dacă nu este specificat de utilizator.
rmiregistry 5000

Trecem cu acest articol despre Marker Interface în Java

Creați și porniți aplicația la distanță.

import java.rmi. * import 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 (Excepție e) {System.out.println (e)}}}

Obiectul la distanță este legat de numele sak în exemplul de mai sus.

Trecem cu acest articol despre Marker Interface în Java

Creați și porniți aplicația client.

În exemplul dat, serverul și aplicațiile client sunt rulate pe aceeași mașină. Astfel, se folosește utilizarea localhost.

import 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))} catch (Excepție e) {}}}

Pentru a accesa obiectul la distanță de la o altă mașină, numele gazdei locale trebuie schimbat în Adresa IP sau numele gazdei în care se află obiectul la distanță.

O modalitate eficientă de clasificare a codului poate fi realizată folosind interfața marker.

Astfel am ajuns la sfârșitul acestui articol. Dacă doriți să aflați mai multe, consultați de Edureka, o companie de învățare online de încredere. Cursul de formare și certificare Java J2EE și SOA Edureka este conceput pentru a vă instrui atât pentru conceptele Java de bază, cât și pentru cele avansate Java, împreună cu diverse cadre Java, cum ar fi Hibernate & Spring.

Ai o întrebare pentru noi? Vă rugăm să o menționați în secțiunea de comentarii a acestui blog și vă vom contacta cât mai curând posibil.