sách gpt4 ăn đã đi

Hiểu rõ từ khóa this trong Java

In lại Tác giả: qq735679552 Thời gian cập nhật: 29-09-2022 22:32:09 28 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 blog CFSDN này tìm hiểu rất kỹ từ khóa này trong Java. Nó được tác giả sưu tầm và biên soạn. Nếu bạn quan tâm tới bài viết này thì nhớ like nhé.

Từ khóa this là một khái niệm mà tôi nghĩ là rất khó hiểu trong Java, :) Có lẽ vì nó quá ngu ngốc.

Ý nghĩa của từ khóa này: có thể tạo ra mã điều khiển tương ứng cho đối tượng có phương thức được gọi.

Làm thế nào để hiểu đoạn văn này?

Có một ví dụ như vậy trong việc suy nghĩ trong java.

Có hai đối tượng cùng loại, được gọi lần lượt là a và b. Vậy làm cách nào để phân biệt ai gọi phương thức này khi gọi phương thức f()?

Ví dụ:

?
1
2
3
4
5
6
7
8
9
lớp học Chuối {
vô hiệu f( số nguyên Tôi){
/***Thân phương thức*****/
chuối a = mới Chuối(); // Tạo đối tượng Banana a
chuối b= mới Chuối(); // Tạo đối tượng Banana b
af( 1 );
bạn trai( 2 );

Vậy làm thế nào để trình biên dịch biết bạn muốn gọi hàm f() của đối tượng nào? Trên thực tế, việc truyền tải hậu trường phải là:

?
1
2
af( 1 )<<=====>>Chuối.f(a, 1 );
bạn trai( 1 )<<=====>>Chuối.f(b, 2 );

Điều tôi hiểu là: Tạo một đối tượng Banana a và khi gọi phương thức f() của a, một điều khiển trỏ đến đối tượng này sẽ được tạo cùng lúc.

Đây là cái này trỏ đến đối tượng new Banana () hoặc cái này, tương đương với phần xử lý a; this "==" a;.

Khi chúng ta ở trong một phương thức. Và chúng tôi muốn lấy phần xử lý của đối tượng hiện tại. Vì phần xử lý này được trình biên dịch chuyển một cách bí mật nên không có mã định danh rõ ràng nào để xác định nó. Tại thời điểm này, chúng tôi có thể sử dụng từ khóa này.

Ý nghĩa phổ biến của điều này: Bất kể đối tượng nào được tạo ra gọi phương thức này, một con trỏ trỏ tới đối tượng này sẽ được tạo.

Các ví dụ kinh điển về tư duy trong java:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
công cộng lớp học Lá cây{
riêng tư số nguyên tôi= 0 ;
Tăng lá(){
tôi++;
trở lại cái này ;
}
vô hiệu in(){
Hệ thống.out.println( "tôi=" +tôi);
công cộng tĩnh vô hiệu chính (Chuỗi [] args)
{
Lá x = mới Lá cây();
x. tăng().tăng().tăng().in();
}
}

1. Tạo một đối tượng xử lý x; định dạng cú pháp là Lá x;.

2. Tạo một đối tượng của lớp Leaf; cú pháp có định dạng là new Leaf();.

3. Thiết lập kết nối giữa handler và đối tượng, cú pháp là x = new Leaf();.

4. Gọi phương thức tăng() trong đối tượng new Leaf(), cú pháp là x.increment().

×××Ai đã gọi phương thức tăng()? Nó là một đối tượng x của lớp Leaf (hoặc new Leaf()), do đó hệ thống tương ứng sẽ tạo ra một tham chiếu this và bí mật trỏ nó tới x hoặc đối tượng new Leaf(), do đó, tăng() trả về một con trỏ Tham chiếu đến x ! Đó là một địa chỉ bộ nhớ. Chúng ta có thể in nó ra và xem, và chúng ta sẽ biết! .

Nội dung trên là những kiến ​​thức về từ khóa this trong Java được biên tập viên giới thiệu, hy vọng sẽ hữu ích với các bạn! .

Cuối cùng, bài viết tìm hiểu kỹ về từ khóa this trong Java kết thúc tại đây. Nếu bạn muốn biết thêm về cách hiểu kỹ về từ khóa this trong Java, vui lòng tìm kiếm các bài viết về CFSDN hoặc tiếp tục duyệt qua các bài viết liên quan. tương lai blog của tôi! .

28 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