Friday, November 8, 2019

Java tutorial - Tìm hiểu Java modifier

Xin chào mừng bạn đến với blog Java tutorial, hôm nay tôi sẽ giới thiệu cho các bạn về java modifier về lý thuyết cũng như ví dụ các bạn có thể tham khảo bài viết bên dưới.
Tìm hiểu Java modifier

Ngôn ngữ Java cung cấp một số modifier, chủ yếu được chia thành hai loại sau:

  • Access modifier
  • Non-access modifier

Modifier được sử dụng để định nghĩa các lớp, phương thức hoặc biến, thường ở phần cuối của câu lệnh. Chúng tôi minh họa bằng ví dụ sau:
Public class ClassName { // ... 
 
} private boolean myFlag ;
 static final double weeks = 9 .5 ;
 protected static final int BOXWIDTH = 42 ;
 public static void main ( String [ ] arguments ) {
 // method body
}
Sửa đổi kiểm soát truy cập
Trong Java, các ký tự điều khiển truy cập có thể được sử dụng để bảo vệ quyền truy cập vào các lớp, biến, phương thức và hàm tạo. Java hỗ trợ 4 quyền truy cập khác nhau.

Default  (nghĩa là mặc định, không ghi gì): Hiển thị trong cùng một gói, không có bất kỳ sửa đổi nào. Sử dụng các đối tượng: lớp, giao diện, biến, phương thức.

Private : Hiển thị trong cùng một lớp. Sử dụng đối tượng: biến, phương thức. Lưu ý: Bạn không thể sửa đổi một lớp (lớp bên ngoài)

Public : Hiển thị cho tất cả các lớp. Sử dụng các đối tượng: lớp, giao diện, biến, phương thức
Protected : Hiển thị với các lớp và tất cả các lớp con trong cùng một gói. Sử dụng đối tượng: biến, phương thức. Lưu ý: Bạn không thể sửa đổi một lớp (lớp bên ngoài).

Chúng tôi có thể giải thích quyền truy cập thông qua bảng sau:
Default access modifier - no keywords used
Các biến và phương thức được khai báo với bộ sửa đổi truy cập mặc định được hiển thị cho các lớp trong cùng một gói. Giao diện nơi các biến được khai báo ngầm định là Chung tĩnh tĩnh và giao diện trong phương thức truy cập mặc định như trong trường hợp công khai.

Như trong ví dụ sau, các biến và phương thức có thể được khai báo mà không cần bất kỳ sửa đổi nào.
String version = " 1.5.1 " ;
 boolean processOrder ( ) { return true ;
 } 

Private access modifier

Công cụ sửa đổi truy cập riêng là mức truy cập nghiêm ngặt nhất, vì vậy các phương thức, biến và hàm tạo được khai báo là riêng tư chỉ có thể được truy cập bởi lớp mà chúng thuộc về và các lớp và giao diện không thể được khai báo là riêng tư.

Các biến được khai báo là các kiểu truy cập riêng chỉ có thể được truy cập bởi các lớp bên ngoài thông qua các phương thức getter công khai trong lớp.

Việc sử dụng công cụ sửa đổi truy cập riêng chủ yếu được sử dụng để ẩn các chi tiết triển khai của lớp và bảo vệ dữ liệu của lớp.

Các lớp sau sử dụng công cụ sửa đổi truy cập riêng tư:
Public class Logger { private String format ;
    public String getFormat ( ) { return this . format ;
    } public void setFormat ( String format ) { this . format = format ;
    } }   
Trong ví dụ, biến định dạng trong lớp Logger là biến riêng, vì vậy các lớp khác không thể trực tiếp lấy và đặt giá trị của biến. Để cho phép các lớp khác thao tác với biến, hai phương thức công khai được định nghĩa: getFormat () (trả về giá trị của định dạng) và setFormat (Chuỗi) (đặt giá trị của định dạng)

Public access modifier - public

Các lớp, phương thức, hàm tạo và giao diện được khai báo công khai có thể được truy cập bởi bất kỳ lớp nào khác.

Nếu một số lớp công khai truy cập lẫn nhau được phân phối trong các gói khác nhau, bạn cần nhập gói có chứa lớp công khai tương ứng. Do sự kế thừa của các lớp, tất cả các phương thức và biến công khai của một lớp có thể được kế thừa bởi các lớp con của nó.

Các chức năng sau sử dụng kiểm soát truy cập công cộng:
Public static void main ( String [ ] arguments ) { // ...   
 
}
Phương thức main () của chương trình Java phải được đặt thành công khai, nếu không trình thông dịch Java sẽ không thể chạy lớp.

Protected access modifier 

Cần bảo vệ để phân tích mô tả từ hai điểm sau:

Các lớp con nằm trong cùng một gói với lớp cơ sở: các biến, phương thức và hàm tạo được khai báo để được bảo vệ có thể được truy cập bởi bất kỳ lớp nào khác trong cùng một gói;

Các lớp con không nằm trong cùng một gói với lớp cơ sở: trong một lớp con, một thể hiện của lớp con có thể truy cập vào phương thức được bảo vệ mà nó kế thừa từ lớp cơ sở và không phải là phương thức được bảo vệ của thể hiện của lớp cơ sở. 

No comments:

Post a Comment