sách gpt4 ăn đã đi

Tóm tắt các generics trong Java (được khuyến nghị)

In lại Tác giả: qq735679552 Thời gian cập nhật: 28-09-2022 22:32:09 31 4
mua khóa gpt4 giày nike

CFSDN nhấn mạnh vào giá trị tạo ra nguồn mở và chúng tôi cam kết xây dựng nền tảng chia sẻ tài nguyên để mọi nhân viên CNTT có thể tìm thấy thế giới tuyệt vời của bạn tại đây.

Bài viết trên blog CFSDN Tóm tắt về Generics trong Java (Được khuyến nghị) này được tác giả sưu tầm và biên soạn. Nếu bạn quan tâm đến bài viết này, hãy nhớ thích nó.

Generics Java (generics) là một tính năng mới được giới thiệu trong jdk 5. Generics cung cấp cơ chế phát hiện an toàn loại thời gian biên dịch, cho phép lập trình viên phát hiện các loại không hợp lệ tại thời gian biên dịch. Bản chất của generics là một kiểu được tham số hóa, có nghĩa là kiểu dữ liệu đang được vận hành được chỉ định làm tham số.

Lớp chung.

Ví dụ: Cú pháp cơ bản của lớp generic.

?
1
2
3
lớp học lớp của tôi {
     giá trị t1;
}

Chữ t trong ngoặc nhọn <> được gọi là tham số loại và được dùng để chỉ bất kỳ loại nào. Trên thực tế, bạn có thể viết t này tùy ý, nhưng vì mục đích đặc tả, Java vẫn khuyến nghị chúng ta nên sử dụng một chữ cái viết hoa duy nhất để biểu thị các tham số kiểu. Những cái phổ biến bao gồm:

  1. t đại diện cho bất kỳ lớp nào nói chung.
  2. e đại diện cho phần tử hoặc ngoại lệ.
  3. k đại diện cho ý nghĩa của khóa
  4. v đại diện cho giá trị và thường được sử dụng cùng với k.
  5. s đại diện cho ý nghĩa của kiểu con, điều này sẽ được giải thích sau trong bài viết.

Ví dụ: Lớp generic giới thiệu nhiều tham số kiểu và cách sử dụng.

?
1
2
3
4
5
6
7
8
9
lớp học lớp của tôi {
     giá trị t1;
     giá trị e2;
}
công cộng lớp học Bài kiểm tra {
     công cộng tĩnh vô hiệu main(chuỗi[] args) {
         myclass myclass1 = mới myclass();
     }
}

Khi các chương trình được phát triển tránh được quá trình chuyển đổi đi xuống, điều đó có nghĩa là các rủi ro về bảo mật sẽ được loại bỏ. Cố gắng không sử dụng tư thế bó bột hướng xuống. Sự xuất hiện của thuốc generic đã thay đổi hoàn toàn nhu cầu chuyển đổi theo hướng đi xuống. Sau khi giới thiệu generics, nếu loại được đặt rõ ràng, nó sẽ là loại được đặt; nếu loại không được đặt, nó sẽ mặc định là loại đối tượng.

Các phương pháp chung.

Generics có thể được sử dụng không chỉ để định nghĩa các lớp mà còn để định nghĩa các phương thức riêng lẻ. Như được hiển thị bên dưới: Ví dụ: Định nghĩa phương thức chung.

?
1
2
3
4
5
lớp học lớp của tôi{
     công cộng vô hiệu phương pháp thử nghiệm(tt) {
         system.out.println(t);
     }
}

 Sự khác biệt nhỏ giữa các phương thức generic và các lớp generic là các tham số kiểu, tức là dấu ngoặc nhọn, được viết ở phía trước giá trị trả về. t in được gọi là tham số kiểu, trong khi t trong phương thức được gọi là kiểu tham số hóa, đây không phải là tham số thực trong thời gian chạy.

Tất nhiên, các tham số kiểu đã khai báo thực sự có thể được sử dụng làm kiểu của giá trị trả về.

Ví dụ: Phương thức chung sử dụng tham số kiểu làm giá trị trả về.

?
1
2
3
4
5
lớp học lớp của tôi{
     công cộng t phương pháp thử nghiệm(tt) {
         trở lại t;
     }
}

Sau khi thêm định nghĩa về generic vào lớp chương trình, vấn đề ngoại lệ classcastException sẽ tránh được, nhưng một tình huống mới sẽ nảy sinh: vấn đề thống nhất tham số.

Ví dụ: Chương trình quan sát.

?
1
2
3
4
5
6
7
8
9
10
công cộng lớp học bản thử nghiệm {
     công cộng tĩnh vô hiệu main(chuỗi[] args) {
         message message = mới tin nhắn() ;
         tin nhắn.setmessage( 99 );
         vui vẻ(tin nhắn); // Đã xảy ra lỗi, chỉ có thể nhận được chuỗi
     }
     công cộng tĩnh vô hiệu vui vẻ(tin nhắn tạm thời){
         system.out.println(temp.getmessage());
     }
}

Ví dụ: Sử dụng ký tự đại diện.

?
1
2
3
4
5
6
7
8
9
10
11
12
công cộng lớp học bản thử nghiệm {
     công cộng tĩnh vô hiệu main(chuỗi[] args) {
         message message = mới tin nhắn() ;
         tin nhắn.setmessage( 55 );
         vui vẻ(tin nhắn);
     }
     // Ký tự đại diện "?" được sử dụng tại thời điểm này mô tả rằng nó có thể nhận bất kỳ loại nào, nhưng vì loại đó không chắc chắn nên không thể sửa đổi.
     công cộng tĩnh vô hiệu vui vẻ(tin nhắn tạm thời){
         //temp.setmessage(100); không thể sửa đổi được!
         system.out.println(temp.getmessage());
     }
}

Giao diện chung.

Ngoài việc được định nghĩa trong một lớp, generic cũng có thể được định nghĩa trong một giao diện.

Ví dụ: Xác định một giao diện chung.

?
1
2
3
4
giao diện tin nhắn {
     // Generics được định nghĩa trên giao diện
     công cộng vô hiệu in(tt);
}

Ví dụ: Tiếp tục sử dụng generic khi định nghĩa các lớp con.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
giao diện tin nhắn {
      // Generics được định nghĩa trên giao diện
     công cộng vô hiệu in(tt);
}
lớp học tin nhắnimpl thực hiện tin nhắn {
     @ghi đè
     công cộng vô hiệu in(tt) {
         system.out.println(t);
     }
}
công cộng lớp học bản thử nghiệm {
     công cộng tĩnh vô hiệu main(chuỗi[] args) {
         imessage tin nhắn = mới lệnh messageimpl() ;
         tin nhắn.in( "Xin chào thế giới" );
     }
}

Trong tương lai, các chương trình chúng ta viết chắc chắn sẽ sử dụng những giao diện chung và mọi người đều phải thành thạo chúng.

Loại tẩy xóa.

Generics là một khái niệm chỉ được giới thiệu trong Java 1.5. Trước đó, không có khái niệm về generics, nhưng rõ ràng, mã generic rất tương thích với mã của các phiên bản trước.

Điều này là do thông tin chung chỉ tồn tại trong giai đoạn biên dịch mã. Trước khi vào JVM, thông tin liên quan đến generics sẽ bị xóa.

Theo thuật ngữ thông thường, không có gì đặc biệt về các lớp chung và các lớp thông thường trong máy ảo Java.

Trên đây là phần giải thích chi tiết và tích hợp các generics trong Java được trình soạn thảo giới thiệu. Tôi hy vọng nó sẽ hữu ích cho bạn. Nếu có thắc mắc gì, vui lòng để lại tin nhắn cho tôi và trình soạn thảo sẽ trả lời bạn kịp thời. Tôi cũng xin cảm ơn mọi người đã ủng hộ trang web của tôi! .

Liên kết gốc: https://blog.csdn.net/busybox1587/article/details/88809668.

Cuối cùng, bài viết về tóm tắt (khuyến nghị) về generics trong Java kết thúc tại đây. Nếu bạn muốn biết thêm về tóm tắt (khuyến nghị) về generics trong Java, vui lòng tìm kiếm bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên quan. blog của tôi trong tương lai! .

31 4 0
qq735679552
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress