sách gpt4 ăn đã đi

java - từ khóa cuối cùng và khai báo đối tượng kết nối là cuối cùng trong java

In lại Tác giả: Walker 123 Thời gian cập nhật: 29-11-2023 07:47:04 29 4
mua khóa gpt4 giày nike

Tôi phải đặt một java.sql.Kết nối Đối tượng được chuyển đến một lớp bên trong ẩn danh, có nghĩa là tôi phải làm cuối cùng Trích dẫn. Tuy nhiên, tôi lo lắng về bất kỳ rò rỉ tài nguyên nào.

public static String foo(kết nối cuối cùng conn){
...
@Ghi đè
công khai String gọi() {
...
trả về runner.query(kết nối, sql, scalarHandler);
}
}

tôi không thể hiểu được cuối cùng Hoạt động bên trong của từ khóa. Làm cách nào để nó thực sự niêm phong đối tượng để nó không thể thay đổi để tham chiếu đến đối tượng khác? Sẽ Sự liên quan Đối tượng được khai báo là cuối cùng Nó có an toàn không?

câu trả lời hay nhất

Làm thế nào để nó thực sự niêm phong đối tượng để nó không thể thay đổi để tham chiếu đến một đối tượng khác?

cẩn thận--cuối cùng là dành cho đối tượngTrích dẫn sửa đổi. Vì thếcuối cùng"niêm phong"Trích dẫn, chứ không phải là một vật thể.

Có hai cách để thực hiện việc "niêm phong" này. Một là kiểm tra tất cả cuối cùng Các biến và trường. Từ Đặc tả ngôn ngữ Java :

Đây là lỗi biên dịch nếu biến final được gán cho trừ khi nó chắc chắn chưa được gán ngay trước khi gán.

Biến lớp final trống phải được gán chắc chắn bởi trình khởi tạo tĩnh của lớp mà nó được khai báo, nếu không sẽ xảy ra lỗi biên dịch.

Biến thể hiện cuối cùng trống phải được gán chắc chắn vào cuối mỗi hàm tạo của lớp mà nó được khai báo, nếu không sẽ xảy ra lỗi biên dịch.

Một cách khác là thông qua xác minh mã byte do JVM thực hiện tại thời điểm tải lớp. sân chơitĩnh điện Lệnh ném mã byte Lỗi Truy Cập Bất Hợp Pháp Nếu trường đang được thao tác là cuối cùng Và hướng dẫn mã byte không xảy ra ở những nơi cụ thể.

Tuy nhiên, bạn phải cẩn thận ở đây -cuối cùng Từ khóa chỉ "dính" vào các trường. Các biến và tham số tạm thời bị mất cuối cùng tính năng này, vì vậy nếu bạn sử dụng trình biên dịch không tương thích hoặc sử dụng thao tác mã byte, JVM chỉ có thể xác minh cuối cùng đặc trưng.


Có an toàn để tuyên bố một Sự liên quan đối tượng là cuối cùng?

Tôi không hoàn toàn chắc chắn ý của bạn là "an toàn", nhưng nếu bạn nói "sẽ không gây ra lỗi trong chương trình của bạn", thì có, trong hầu hết các trường hợp (với các hằng số đa luồng và/hoặc thời gian biên dịch có thể có hoặc không thay đổi câu trả lời này). Nếu bạn muốn cuối cùng đặt tham chiếu và chương trình của bạn sẽ biên dịch, sau đó chương trình của bạn sẽ chạy tốt.

Về java - từ khóa cuối cùng và khai báo đối tượng kết nối là cuối cùng trong java, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/24814455/

29 4 0
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