Rate this post

Access modifier trong Java là một từ khóa được sử dụng để khai báo mức độ truy cập của một thuộc tính hoặc phương thức. Trong Java, có 4 loại access modifiers: public, private, protected và default (không có từ khóa).

  • public: Mức độ truy cập cao nhất, có thể truy cập từ bất kỳ nơi nào trong chương trình.
  • private: Mức độ truy cập thấp nhất, chỉ có thể truy cập từ chính lớp chứa thuộc tính hoặc phương thức.
  • protected: Giữa public và private, có thể truy cập từ các lớp con của lớp chứa nó hoặc từ cùng package với nó.
  • default (không có từ khóa): Giống như protected nhưng chỉ có thể truy cập từ cùng package với nó.

Mặc định tất cả các thuộc tính và phương thức trong Java đều có access modifier là default nếu không khai báo rõ.

Các bài viết liên quan:

Một số ví dụ về Access modifier trong Java

Ví dụ 1: Sử dụng public

public class A {
    public int x;
    public void setX(int value) {
        x = value;
    }
}

class B {
    void test() {
        A a = new A();
        a.x = 5; // Được phép truy cập vì là public
        a.setX(10); // Được phép truy cập vì là public
    }
}

Ví dụ 2: Sử dụng private

class A {
    private int x;
    private void setX(int value) {
        x = value;
    }
}

class B {
    void test() {
        A a = new A();
        a.x = 5; // Không được phép truy cập vì là private
        a.setX(10); // Không được phép truy cập vì là private
    }
}

Ví dụ 3: Sử dụng protected

class Parent {
    protected int x;
    protected void setX(int value) {
        x = value;
    }
}

class Child extends Parent {
    void test() {
        x = 5; // Được phép truy cập vì là lớp con của Parent
        setX(10); // Được phép truy cập vì là lớp con của Parent
    }
}

class Main {
    void test() {
        Parent parent = new Parent();
        parent.x = 5; // Không được phép truy cập vì là đối tượng Parent
        parent.setX(10); // Không được phép truy cập vì là đối tượng Parent
    }
}

Ví dụ 4: Sử dụng default

class A {
    int x;
    void setX(int value) {
        x = value;
    }
}

class B {
    void test() {
        A a = new A();
        a.x = 5; // Được phép truy cập vì cùng package với A
        a.setX(10); // Được phép truy cập vì cùng package với A
    }
}

Trong các ví dụ trên, ta có thể thấy rõ sự khác nhau giữa các loại access modifier đó là public, private, protected và default (không có từ khóa) trong việc truy cập vào các thuộc tính và phương thức của một lớp.

Cần lưu ý rằng, việc sử dụng access modifier là một kỹ thuật quan trọng trong việc thiết kế và phát triển phần mềm, giúp cho chương trình của bạn dễ dàng quản lý và bảo mật hơn.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now