Modifier

Duy Văn | 10/03/2025


Modifier có hai loại:

  • Access modifier: kiểm soát khả năng truy cập
  • Non-Access modifier: không kiểm soát truy cập nhưng cung cấp các tính năng khác

Access modifier

Access modifier dành cho class sẽ bao gồm:

  • public - class nào dược define với modifier public có thể được import sang một class khác
  • default - class nào không có modifier nào sẽ được gọi là default, chỉ có thể truy cập từ trong cùng package, không thể truy cập từ package khác , mình sẽ nói ở bài Package

Access modifier dành cho thuộc tính, methods và constructor có thể có:

  • public: có thể truy cập từ bất kỳ class nào
  • private: chỉ có thể truy cập từ bên trong class đó
  • default: chỉ có thể truy cập từ trong cùng package
  • protected: chỉ có thể truy cập từ trong cùng package và các class con

Non-Access modifier

Cho class thì Non-Access modifier có thể có:

  • final : class không thể được kế thừa bởi class khác, xem thêm ở bài Inheritance
  • abstract: class không thể tạo ra object - đây là một abstract class, xem thêm ở bài Abstraction

Cho thuộc tính và method thì có:

  • final: giá trị của thuộc tính không thể thay đổi, method không thể bị override
  • static: thuộc tính và method thuộc về class chứ không phải object
  • abstract: abstract method dùng trong abstract class, xem thêm ở bài Abstraction
  • synchronized: method chỉ có thể được thực thi bởi một thread tại một thời điểm
  • transient: thuộc tính không được serialize khi lưu trữ
  • volatile: giúp thread đọc và ghi giá trị của biến này từ bộ nhớ chính chứ không đi theo thread