Access Modifiers trong java với ví dụ cụ thể

Ở bài tính đóng gói mình đã có giới thiệu sơ qua từ khoá private và public trong java. Những từ khoá đó được gọi là access modifier ngoài public, private, chúng ta còn có thêm từ khoá protected. Access modifier sẽ hạn chế quyền truy cập của các biến, method, constructor của class, nếu những thành phần này không có từ khoá access modifier đi trước thì mặc định được hiểu là default.

Để hiểu được bài này, chúng ta cần có kiến thức về package trong java. Vì ở phần này mình sẽ lấy khá nhiều ví dụ sử dụng package để hiểu rõ hơn về access modifier.

Sau cùng chúng ta sẽ có 4 access modifier:

  • default
  • private
  • protected
  • public

Cú pháp sử dụng access modifier

Ví dụ 1: Access modifier độc lập

Ví dụ 2: Access modifier với từ khoá static

Khi đi với từ khoá static, access modifier luôn đứng trước static. Static không được phép khai báo tại constructor. Nếu một method đi với từ khoá static, nó chỉ được sử dụng các biến static của class.

Flow access modifier

Key

Class

Package

Subclass

World

public

OK

OK

OK

OK

protected

OK

OK

OK

KO

default OK

OK

KO

KO

private

OK

KO

KO

KO

Bảng trên là bảng tóm tắt cho phép truy cập đối với từng keyword trong access modifier. Ví dụ đối những thành phần đi với từ khoá public thì có thể truy cập được ở trong cùng class, hoặc khác package, class con, hoặc bất cứ đâu. Private chỉ có thể truy cập được trong nội bộ class.

Default access modifier trong java

Khi chúng ta không thêm một trong 3 từ khoá private, protected, public vào trước các biến, method, constructor thì mặc định nó được hiểu là default access modifier

Ví dụ: chúng ta sẽ có 2 package abcpackage xyzpackage

Output

Error:(9, 17) java: sum(int,int) is not public in acbpackage.Operator; cannot be accessed from outside package

Method sum() đi với default access modifier nên nó sẽ không được truy cập từ các class khác package.

Private access modifier trong java

Các thành phần dữ liệu chỉ được truy cập trong nội bộ class chứa nó.

Output: 19

Protected access modifier trong java

Trong java protected access modifier được sử dụng nhiều trong quan hệ thừa kế, các thành phần protected của class cha được chỉ định cho các class con của nó có thể sử dụng. Ngoài ra các thành phần protected cũng có thể được truy cập từ trong nội bộ class, các class cùng package.

Ví dụ

Output: 25

Public access modifier

Các thành phần public trong java có thể sử dụng ở bất cứ đâu trong chưong trình

‹Previous  Next›

Please follow and like us:
error

Leave a Reply

Your email address will not be published. Required fields are marked *