Làm thế nào để triển khai giao diện đánh dấu trong Java?



Bài viết này sẽ giới thiệu sơ lược cho bạn về một khía cạnh thú vị của Giao diện được gọi là Giao diện đánh dấu trong Java và tiếp tục thực hiện nó.

Bài viết này sẽ giới thiệu tóm tắt cho bạn một khía cạnh thú vị của Giao diện được gọi là Giao diện đánh dấu Trong và theo dõi nó với việc thực hiện. Các gợi ý sau sẽ được đề cập trong bài viết này,

Vì vậy, hãy để chúng tôi bắt đầu,





mã danh sách liên kết trong c

Giao diện đánh dấu là một giao diện trống, tức là nó không chứa bất kỳ phương thức hoặc trường nào. Nó còn được gọi là giao diện gắn thẻ và được sử dụng để chỉ ra hoặc thông báo cho JVM rằng một lớp thực hiện giao diện này sẽ có một số hành vi đặc biệt. Có thể đạt được một cách hiệu quả để phân loại mã bằng cách sử dụng giao diện đánh dấu. Ví dụ về giao diện như vậy là: Giao diện có thể nối tiếp, có thể sao chép và giao diện từ xa.

Di chuyển với bài viết này về Giao diện Marker trong Java



Giao diện có thể nối tiếp hóa

Serialization trong java có thể được định nghĩa là quá trình chuyển đổi trạng thái của một đối tượng thành một luồng byte. Điều này có thể đạt được bằng cách sử dụng giao diện có thể tuần tự hóa có trong java.io.package. Cần lưu ý rằng tất cả các kiểu con của một lớp có thể tuần tự hóa đều có thể tự tuần tự hóa.

Thí dụ:

import java.io. * class Main thực hiện Serializable {int j String s // Một phương thức khởi tạo lớp public Main (int j, String s) {this.j = j this.s = s}} public class Test {public static void main (String [] args) ném IOException, ClassNotFoundException {Main obj = new Main (25, 'HelloWorld') // Serializing 'obj' FileOutputStream fos = new FileOutputStream ('pqr.txt') ObjectOutputStream oos = new ObjectOutputStream (fos) oos .writeObject (obj) // De-serializing '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) // đóng luồng oos.close () ois.close ()}}

Đầu ra:
25 HelloWorld



Di chuyển với bài viết này về Giao diện Marker trong Java

Giao diện nhân bản:

Giao diện này có thể được tìm thấy trong gói java.lang. Nhân bản là cơ chế tạo ra một bản sao hoặc một bản sao chính xác của một đối tượng có tên khác.
Giao diện nhân bản được thực hiện bởi một lớp để chỉ ra cho phương thức object.clone () rằng phương thức tạo bản sao trường cho trường của các cá thể của lớp đó là hợp pháp.
Một CloneNotSupportedException được ném cho một lớp gọi phương thức sao chép mà không cần triển khai giao diện có thể sao chép.

Thí dụ:

import java.lang.Cloneable class javaClone thực hiện Cloneable {int j String s // Định nghĩa phương thức tạo lớp public javaClone (int j, String s) {this.j = j this.s = s} // Ghi đè phương thức clone () @ Ghi đè Object clone () được bảo vệ ném CloneNotSupportedException {return super.clone ()}} public class Main {public static void main (String [] args) ném CloneNotSupportedException {javaClone c = new javaClone (18, 'HelloWorld') // cloning ' c 'và giữ // tham chiếu đối tượng nhân bản mới trong b // down-casting javaClone b = (javaClone) c.clone () System.out.println (bj) System.out.println (bs)}}

Đầu ra:
18
Chào thế giới

Di chuyển với bài viết này về Giao diện Marker trong Java

Giao diện từ xa:

Một đối tượng từ xa có thể được định nghĩa là một đối tượng mà các phương thức của nó có thể được gọi từ một JVM khác, có khả năng trên một máy chủ khác. Giao diện này được tìm thấy trong gói java.rmi. Một đối tượng từ xa phải thực hiện phương pháp này trực tiếp hoặc gián tiếp.

RMI:

Chuyển đổi phương thức từ xa là một API cho phép một đối tượng gọi các phương thức trên một đối tượng đang chạy trong một JVM khác. Nó cung cấp giao tiếp từ xa giữa hai ứng dụng bằng cách sử dụng các đối tượng sau: sơ khai và khung xương.

Sơ khai:

Sơ khai có thể được định nghĩa là một đối tượng hiện diện ở phía máy khách và đại diện cho đối tượng từ xa. Nó tạo ra một khối thông tin bao gồm:
α Định danh của đối tượng từ xa
α Tên của phương thức sẽ được gọi
α Các thông số cho JVM từ xa

Bộ xương:

Công việc chính của đối tượng khung là chuyển các yêu cầu từ sơ khai đến đối tượng từ xa. Ngoài ra, nó thực hiện các nhiệm vụ được cung cấp bên dưới:
α Nó gọi phương thức mong muốn trên đối tượng từ xa ban đầu
α Đọc tham số được chỉ định cho đối tượng từ xa

Di chuyển với bài viết này về Giao diện Marker trong Java

ví dụ về goto c ++

Các bước triển khai giao diện từ xa:

Xác định giao diện từ xa:

import java.rmi. * public interface AddAll expand Từ xa {public int add (int r, int s) throws RemoteException}

Ở đây, giao diện Từ xa được mở rộng và RemoteException được khai báo với tất cả các phương thức của giao diện từ xa.

Di chuyển với bài viết này về Giao diện Marker trong Java

Triển khai giao diện từ xa:

Có hai cách để cung cấp triển khai cho giao diện từ xa:
α Mở rộng lớp UnicastRemoteObject
α Sử dụng phương thức exportObject () của lớp UnicastRemoteObject

import java.rmi. * import java.rmi.server. * public class AddAllRemote mở rộng UnicastRemoteObject triển khai Adder {AddAllRemote () ném RemoteException {super ()} public int add (int r, int s) {return r + s}}

Sử dụng rmic (trình biên dịch rmi), tạo các đối tượng sơ khai và khung xương.

Các đối tượng sơ khai và khung xương có thể được tạo bằng cách sử dụng trình biên dịch rmi. Công cụ rmi gọi trình biên dịch RMI để tạo các đối tượng.
rmic AddAllRemote

Sử dụng công cụ rmiregistry, khởi động dịch vụ đăng ký.

Dịch vụ đăng ký có thể được khởi động bằng cách sử dụng công cụ rmregistry. Số cổng mặc định được sử dụng nếu người dùng không chỉ định.
rmiregistry 5000

Di chuyển với bài viết này về Giao diện Marker trong Java

Tạo và khởi động ứng dụng từ xa.

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

Đối tượng từ xa đang bị ràng buộc bởi tên sak trong ví dụ trên.

Di chuyển với bài viết này về Giao diện Marker trong Java

Tạo và khởi động ứng dụng khách.

Trong ví dụ đã cho, máy chủ và ứng dụng khách đang được chạy trên cùng một máy. Do đó, việc sử dụng localhost đang được thực hiện.

import java.rmi. * public class Client {public static void main (String args []) {try {AddAll ste = (AddAll) Naming.lookup ('rmi: // localhost: 5000 / sak') System.out.println (ste.add (29,18))} catch (Ngoại lệ e) {}}}

Để truy cập đối tượng từ xa từ một máy khác, tên máy chủ cục bộ phải được thay đổi thành Địa chỉ IP hoặc tên máy chủ nơi đặt đối tượng từ xa.

Có thể đạt được một cách hiệu quả để phân loại mã bằng cách sử dụng giao diện đánh dấu.

Như vậy là chúng ta đã kết thúc bài viết này. Nếu bạn muốn tìm hiểu thêm, hãy xem bởi Edureka, một công ty học trực tuyến đáng tin cậy. Khóa học đào tạo và cấp chứng chỉ Java J2EE và SOA của Edureka được thiết kế để đào tạo bạn về cả khái niệm Java cốt lõi và nâng cao cùng với các khung Java khác nhau như Hibernate & Spring.

Có một câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của blog này và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.