Bỏ qua đến nội dung
Bỏ qua điều hướng
Đăng nhập
MT.NET.VN

Viewbh Java Tut 30 Java Inner Classes 0 0 2023 04 04 04 31 57

Tìm kiếm
Thuộc khóa học · baihoc_sub = 16

Lập trình Java cơ bản ( Free)

Bài 39 / 49 trong khóa học.

Xem khóa học
80%
MT LEARNING · LESSON

Java tut 30 : Java Inner Classes 0 (0)

Java tut 30 : Java Inner Classes 0 (0)

Java tut 30 : Java Inner Classes 0 (0)

Java Inner Classes (Các lớp bên trong Java)

Trong Java, cũng có thể lồng các lớp (một lớp trong một lớp). Mục đích của các lớp lồng nhau là để nhóm các lớp thuộc lại với nhau, điều này làm cho mã của bạn dễ đọc và dễ bảo trì hơn.

Để truy cập lớp bên trong, hãy tạo một đối tượng của lớp bên ngoài, sau đó tạo một đối tượng của lớp bên trong:

Thí dụ

class OuterClass {   int x = 10;    class InnerClass {     int y = 5;   } }  public class Main {   public static void main(String[] args) {     OuterClass myOuter = new OuterClass();     OuterClass.InnerClass myInner = myOuter.new InnerClass();     System.out.println(myInner.y + myOuter.x);   } }  // Outputs 15 (5 + 10)    

Hãy tự mình thử »


Private Inner Class (Lớp bên trong riêng tư)

Không giống như một lớp “thông thường”, một lớp bên trong có thể là privatehoặc protected. Nếu bạn không muốn các đối tượng bên ngoài truy cập vào lớp bên trong, hãy khai báo lớp là private:

Thí dụ

class OuterClass {   int x = 10;    private class InnerClass {     int y = 5;   } }  public class Main {   public static void main(String[] args) {     OuterClass myOuter = new OuterClass();     OuterClass.InnerClass myInner = myOuter.new InnerClass();     System.out.println(myInner.y + myOuter.x);   } }    

Nếu bạn cố gắng truy cập vào một lớp bên trong riêng tư từ một lớp bên ngoài, một lỗi sẽ xảy ra:Main.java:13: error: OuterClass.InnerClass has private access in OuterClass
    OuterClass.InnerClass myInner = myOuter.new InnerClass();
              ^

Hãy tự mình thử »


Static Inner Class

Một lớp bên trong cũng có thể là static, có nghĩa là bạn có thể truy cập nó mà không cần tạo một đối tượng của lớp bên ngoài:

Thí dụ

class OuterClass {   int x = 10;    static class InnerClass {     int y = 5;   } }  public class Main {   public static void main(String[] args) {     OuterClass.InnerClass myInner = new OuterClass.InnerClass();     System.out.println(myInner.y);   } }  // Outputs 5    

Hãy tự mình thử »

Lưu ý: cũng giống như staticcác thuộc tính và phương thức, một staticlớp bên trong không có quyền truy cập vào các thành viên của lớp bên ngoài.


Truy cập lớp bên ngoài từ lớp bên trong

Một ưu điểm của các lớp bên trong là chúng có thể truy cập các thuộc tính và phương thức của lớp bên ngoài:

Thí dụ

class OuterClass {   int x = 10;    class InnerClass {     public int myInnerMethod() {       return x;     }   } }  public class Main {   public static void main(String[] args) {     OuterClass myOuter = new OuterClass();     OuterClass.InnerClass myInner = myOuter.new InnerClass();     System.out.println(myInner.myInnerMethod());   } }  // Outputs 10  

Hãy tự mình thử »

ĐÁNH GIÁ NỘI DUNG 0.0/5 0 lượt đánh giá
Bạn thấy nội dung này thế nào?
Mỗi trình duyệt/tài khoản được chấm lại sau 24 giờ.
Báo bài lỗiGiúp MT.Net.VN phát hiện nội dung cần kiểm tra
Báo lỗi được ghi vào hệ thống để Admin kiểm tra. Không dùng chức năng này để gửi hỗ trợ cá nhân.

Bài học liên quan

Các bài khác có cùng khóa học cha theo baihoc_sub.

Bài học vừa xem

Lịch sử gần đây trên trình duyệt này.

Home Dịch vụ Khóa học CPanel