sách gpt4 ăn đã đi

Giải thích chi tiết về các nguyên tắc, ví dụ tổng quan và cách sử dụng của lớp nội bộ Java

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 này trình bày chi tiết các nguyên tắc, tổng quan và ví dụ sử dụng của các lớp nội bộ Java, đượ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 thì nhớ like nhé.

Các ví dụ trong bài viết này mô tả các nguyên tắc, tổng quan và cách sử dụng các lớp bên trong Java. Share cho mọi người tham khảo nhé, chi tiết như sau:

Tổng quan về các lớp bên trong

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/*
   Tổng quan về lớp bên trong:
     Một lớp được định nghĩa bên trong các lớp khác được gọi là lớp bên trong.
     Ví dụ: Lớp b được định nghĩa trong lớp a và lớp b là lớp bên trong.
   Tính năng truy cập nội bộ:
     a: Các lớp bên trong có thể truy cập trực tiếp vào các thành viên của các lớp bên ngoài, bao gồm cả các lớp riêng tư.
     b: Để truy cập các thành viên của lớp bên trong, lớp bên ngoài phải tạo một đối tượng.
*/
lớp học bên ngoài {
   riêng tư số nguyên số = 10 ;
   lớp học bên trong {
     công cộng vô hiệu trình diễn() {
       // Các lớp bên trong có thể truy cập trực tiếp vào các thành viên của các lớp bên ngoài, bao gồm cả các lớp riêng tư.
       system.out.println(số);
     }
   }
   công cộng vô hiệu phương pháp() {
     //Không tìm thấy biểu tượng
     //trình diễn();
     // Để truy cập các thành viên của lớp bên trong, lớp bên ngoài phải tạo một đối tượng.
     i bên trong = mới bên trong();
     i.show();
   }
}
lớp học bên trongdemo {
   công cộng tĩnh vô hiệu main(chuỗi[] args) {
   }
}

Địa điểm lớp học bên trong.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/*
   vị trí lớp trong
     Vị trí thành viên: Một lớp được xác định tại vị trí thành viên được gọi là lớp bên trong thành viên.
     Vị trí cục bộ: Các lớp được xác định ở vị trí cục bộ được gọi là các lớp bên trong cục bộ.
   Vị trí thành viên: Một lớp được xác định tại vị trí thành viên được gọi là lớp bên trong thành viên.
*/
lớp bên ngoài {
   số nguyên riêng tư = 10;
   //vị trí thành viên
   /*
   lớp bên trong {
   }
   */
   công cộng vô hiệu phương pháp() {
     //vị trí cục bộ
     lớp học bên trong {
     }
   }
}
lớp học lớp bên trongdemo2 {
   công cộng tĩnh vô hiệu main(chuỗi[] args) {
   }
}

Cách truy cập trực tiếp vào các thành viên của lớp bên trong thành viên.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
   Lớp bên trong thành viên:
     Cách truy cập trực tiếp các thành viên của lớp bên trong.
     Tên lớp bên ngoài Tên lớp bên trong Tên đối tượng = Đối tượng lớp bên ngoài.
*/
lớp học bên ngoài {
   riêng tư số nguyên số = 10 ;
   lớp học bên trong {
     công cộng vô hiệu trình diễn() {
       system.out.println(số);
     }
   }
}
lớp học lớp bên trongdemo3 {
   công cộng tĩnh vô hiệu main(chuỗi[] args) {
     //Yêu cầu: Tôi muốn truy cập phương thức show() của lớp bên trong
     // Định dạng: tên lớp bên ngoài tên đối tượng = đối tượng lớp bên ngoài.
     bên ngoài.bên trong oi = mới bên ngoài(). mới bên trong();
     oi.show();
   }
}

Công cụ sửa đổi cho các lớp bên trong thành viên:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
/*
   Công cụ sửa đổi cho các lớp bên trong thành viên:
     riêng tư để đảm bảo an toàn dữ liệu
     tĩnh để dễ dàng truy cập dữ liệu
       Lưu ý: Dữ liệu lớp bên ngoài được truy cập bởi các lớp bên trong tĩnh phải được sửa đổi tĩnh.
   Trường hợp: Tôi có một người (một người có thân xác và có trái tim trong cơ thể.)
     lớp cơ thể {
       lớp học riêng tư trái tim {
         toán tử void công khai() {
           system.out.println("Bắt mạch tim");
         }
       }
       phương thức public void() {
         if(nếu bạn là bác sĩ phẫu thuật) {
           trái tim h = trái tim mới();
           h. toán tử();
         }
       }
     }
     Hãy sử dụng nó theo những gì chúng tôi vừa giải thích.
     body.heart bh = new body().new heart();
     bh. toán tử();
     // Sau khi thêm riêng tư thì không thể truy cập được. Vậy chơi như thế nào?
     thân b = thân mới();
     b.phương thức();
*/
lớp học bên ngoài {
   riêng tư số nguyên số = 10 ;
   riêng tư tĩnh số nguyên số2 = 100 ;
   // Lớp bên trong được sửa đổi tĩnh vì lớp bên trong có thể được xem là thành viên của lớp bên ngoài
   công cộng tĩnh lớp học bên trong {
     công cộng vô hiệu trình diễn() {
       //system.out.println(số);
       system.out.println(num2);
     }
     công cộng tĩnh vô hiệu hiển thị2() {
       //system.out.println(num);//Báo cáo lỗi. Dữ liệu lớp bên ngoài được truy cập bởi các lớp bên trong tĩnh phải được sửa đổi tĩnh.
       system.out.println(num2);
     }
   }
}
lớp học lớp bên trongdemo4 {
   công cộng tĩnh vô hiệu main(chuỗi[] args) {
     //Sử dụng lớp bên trong
     // Lớp tĩnh mới đủ điều kiện
     //outer.inner oi = new external().new inside();//Phương thức truy cập này sai
     //oi.hiển thị();
     //oi.show2();
     // Phương thức truy cập sau khi lớp bên trong thành viên được sửa đổi tĩnh là:
     // Định dạng: tên lớp bên trong tên đối tượng = tên lớp bên ngoài mới ();
     bên ngoài.bên trong oi = mới outer.inner();
     oi.show();
     xin chào.show2();
     // Một cách khác để gọi show2(). Bởi vì các phương thức tĩnh có thể được gọi thông qua tên lớp.
     bên ngoài.bên trong.show2();
   }
}

Không có mối quan hệ kế thừa giữa lớp bên trong và lớp bên ngoài.

Định tính đối tượng này bằng tên lớp bên ngoài.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/*
   Trường hợp:
     Vui lòng điền vào chỗ trống và nhập lần lượt 30, 20 và 10.
   Để ý:
     1: Không có mối quan hệ kế thừa giữa lớp bên trong và lớp bên ngoài.
     2: Đánh giá đối tượng này thông qua tên lớp bên ngoài
       bên ngoài.này
*/
lớp học bên ngoài {
   công cộng số nguyên số = 10 ;
   lớp học bên trong {
     công cộng số nguyên số = 20 ;
     công cộng vô hiệu trình diễn() {
       số nguyên số = 30 ;
       system.out.println(số);
       hệ thống.out.println( cái này .num);
       //system.out.println(new outer().num);
       system.out.println(bên ngoài. cái này .num);
     }
   }
}
lớp học bài kiểm tra lớp trong {
   công cộng tĩnh vô hiệu main(chuỗi[] args) {
     bên ngoài.bên trong oi = mới bên ngoài(). mới bên trong();
     oi.show();
   }
}

Vấn đề khi truy cập các biến cục bộ của các lớp bên trong tại các vị trí cục bộ.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*
   lớp bên trong địa phương
     a: Có thể truy cập trực tiếp các thành viên của lớp bên ngoài
     b: Ở một vị trí cục bộ, bạn có thể tạo một đối tượng lớp bên trong và gọi phương thức lớp bên trong thông qua đối tượng để sử dụng hàm lớp bên trong cục bộ.
   Những điều cần lưu ý:
     Bạn nên chú ý điều gì khi các lớp bên trong cục bộ truy cập các biến cục bộ?
     a: Lớp bên trong cục bộ phải sử dụng cuối cùng để truy cập các biến cục bộ.
     b: Tại sao?
       Các biến cục bộ được gọi khi phương thức được gọi và biến mất khi cuộc gọi hoàn tất.
       Nội dung của bộ nhớ heap bên trong sẽ không biến mất ngay lập tức. Vì vậy, chúng tôi thêm sửa đổi cuối cùng.
       Sau khi thêm sửa đổi cuối cùng, biến này trở thành hằng số. Vì nó là một hằng số. Bạn biến mất.
       Thứ tôi lưu trong bộ nhớ là dữ liệu 20 nên tôi vẫn còn dữ liệu để sử dụng.
*/
lớp học bên ngoài {
   riêng tư số nguyên số = 10 ;
   công cộng vô hiệu phương pháp() {
     //int số2 = 20;
     cuối cùng số nguyên số2 = 20 ; // Các lớp bên trong cục bộ phải sử dụng lệnh cuối cùng để truy cập các biến cục bộ.
     lớp học bên trong {
       công cộng vô hiệu trình diễn() {
         system.out.println(số);
         // Truy cập biến cục bộ num2 từ lớp bên trong cần được khai báo là loại cuối cùng;
         system.out.println(num2); //20
       }
     }
     //hệ thống.out.println(số2);
     i bên trong = mới bên trong();
     i.show();
   }
}
lớp học bên trongdemo5 {
   công cộng tĩnh vô hiệu main(chuỗi[] args) {
     bên ngoài o = mới bên ngoài();
     o.phương thức();
   }
}

Định dạng lớp bên trong ẩn danh, gọi phương thức.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*
   lớp bên trong ẩn danh
     Đó là một cách đơn giản để viết các lớp bên trong.
   Điều kiện tiên quyết: Có lớp hoặc giao diện
     Lớp ở đây có thể là lớp cụ thể hoặc lớp trừu tượng.
   Định dạng:
     tên lớp hoặc tên giao diện mới(){
       phương pháp ghi đè;
     }
   Bản chất là gì?
     Là một đối tượng ẩn danh kế thừa lớp này hoặc triển khai một lớp con của giao diện này.
*/
giao diện chôn cất {
   công cộng tóm tắt vô hiệu trình diễn();
   công cộng tóm tắt vô hiệu hiển thị2();
}
lớp học bên ngoài {
   công cộng vô hiệu phương pháp() {
     giữa i = mới chôn cất() { // Đa hình
       công cộng vô hiệu trình diễn() {
         hệ thống.out.println( "trình diễn" );
       }
       công cộng vô hiệu hiển thị2() {
         hệ thống.out.println( "hiển thị2" );
       }
     };
     i.show(); //Nó là một đối tượng ẩn danh kế thừa lớp này hoặc triển khai một lớp con của giao diện này. Vì vậy, bạn có thể gọi phương thức
     i.show2();
   }
}
lớp học innerclassdemo6 {
   công cộng tĩnh vô hiệu main(chuỗi[] args) {
     bên ngoài o = mới bên ngoài();
     o.phương thức();
   }
}

Việc sử dụng các lớp bên trong ẩn danh trong quá trình phát triển.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*
   Việc sử dụng các lớp bên trong ẩn danh trong quá trình phát triển
*/
giao diện người {
   công cộng tóm tắt vô hiệu học();
}
lớp học bản demo người {
   // Tên giao diện là tham số chính thức
   // Trên thực tế, thứ cần ở đây không phải là giao diện mà là đối tượng của lớp triển khai của giao diện.
   công cộng vô hiệu phương pháp (người p) {
     p. nghiên cứu();
   }
}
//lớp thực hiện
lớp học học sinh thực hiện người {
   công cộng vô hiệu học() {
     hệ thống.out.println( "Học tập chăm chỉ và tiến bộ mỗi ngày" );
   }
}
lớp học lớp trong2 {
   công cộng tĩnh vô hiệu main(chuỗi[] args) {
     //Bài kiểm tra
     persondemo pd = mới Persondemo();
     người p = mới học sinh();
     pd.phương pháp(p);
     hệ thống.out.println( "---------------------" );
     // Việc sử dụng các lớp bên trong ẩn danh trong quá trình phát triển
     // Bản chất của lớp bên trong ẩn danh là lớp kế thừa hoặc đối tượng ẩn danh của lớp con thực hiện giao diện
     // Nó sẽ biến mất sau khi được sử dụng một lần
     người ss = mới người(){
       công cộng vô hiệu học() {
         hệ thống.out.println( "Học tập chăm chỉ và tiến bộ mỗi ngày" );
       }
     };
     pd.phương pháp(ss);
     // pd.method(người mới(){
       // công khai void study() {
         // system.out.println("Học tập chăm chỉ và tiến bộ mỗi ngày");
       // }
     // });
   }
}

trường hợp.

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*
   Trường hợp:
     Hoàn thành mã theo yêu cầu
       giao diện inter { void show(); }
       lớp bên ngoài { //Mã hoàn chỉnh }
       lớp outerdemo {
         public static void main(string[] args) {
            phương thức bên ngoài().hiển thị();
          }
       }
       Yêu cầu xuất "helloworld" ra bảng điều khiển
*/
giao diện giữa {
   lệnh show();
   // Hãy nhớ có bản tóm tắt công khai theo mặc định
}
lớp bên ngoài {
   //Hoàn thành mã
   phương thức public static inter() {
     //Đối tượng lớp con--Đối tượng ẩn danh của lớp con
     trả về inter() mới {
       công khai void show() {
         system.out.println("helloworld");
       }
     };
   }
}
lớp outerdemo {
   public static void main(string[] args) {
     phương thức bên ngoài().hiển thị();
     /*
       1: bên ngoài.method() Có thể thấy rằng phương thức() phải là một phương thức tĩnh ở bên ngoài.
       2: external.method().show() Có thể thấy giá trị trả về của phương thức() là một đối tượng.
         Và vì có một phương thức show() trong giao diện, tôi nghĩ kiểu giá trị trả về của phương thức() là một giao diện.
     */
   }
}

Hi vọng bài viết này sẽ hữu ích cho mọi người trong việc lập trình java.

Liên kết gốc: https://www.cnblogs.com/baiyangyuanzi/p/6831624.html.

Cuối cùng, bài viết này về các nguyên tắc, ví dụ tổng quan và cách sử dụng của các lớp nội bộ Java kết thúc ở đây. Nếu bạn muốn biết thêm về các nguyên tắc, tổng quan và ví dụ sử dụng của các lớp nội bộ Java, vui lòng tìm kiếm các bài viết CFSDN hoặc tiếp tục duyệt các Bài viết liên quan. bạn sẽ ủng hộ 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