Access Modifier trong Java: Tất cả những gì bạn cần biết



Bài viết này giúp bạn hiểu các công cụ sửa đổi quyền truy cập trong Java là gì và tìm hiểu về các loại khác nhau như Công khai, riêng tư, được bảo vệ và mặc định.

Các công cụ sửa đổi quyền truy cập trong Java được sử dụng để chỉ định mức độ truy cập cho các lớp, các phương thức biến và phương thức khởi tạo.Nó giúp cập nhật giá trị của một . Chúng còn được gọi là chỉnh sửa khả năng hiển thị. Thông qua phương tiện của blog này, tôi sẽ giúp bạn hiểu tầm quan trọng của công cụ sửa đổi quyền truy cập trong .

Tôi sẽ trình bày các chủ đề theo thứ tự sau:





Hãy bắt đầu với chủ đề đầu tiên.

Access Modifier là gì?



Bạn có thể đã gặp công cộng , riêng tưđược bảo vệ từ khóa trong khi thực hành bất kỳ , chúng được gọi là Công cụ sửa đổi quyền truy cập.Như tên cho thấy, Access Modifier trong Java giúp hạn chế phạm vi của một lớp, hàm tạo, biến, phương thức hoặc thành viên dữ liệu.

Các công cụ sửa đổi quyền truy cập có thể được chỉ định riêng cho một lớp, các hàm tạo,trường và phương thức. Họ cũng được gọi là Bộ chỉ định quyền truy cập Java , nhưng tên chính xác là Công cụ sửa đổi quyền truy cập Java .

Vì vậy, chúng ta hãy tìm hiểu sâu về các loại Access Modifier khác nhau trong Java.



Các loại công cụ sửa đổi quyền truy cập

Có bốn từ khóa bổ trợ truy cập trong và họ là:

  • Công cụ sửa đổi quyền truy cập mặc định
  • Công cụ sửa đổi quyền truy cập riêng tư
  • Công cụ sửa đổi quyền truy cập công cộng
  • Công cụ sửa đổi quyền truy cập được bảo vệ

Hãy cùng chúng tôi tìm hiểu chi tiết về từng loại trong số chúng.

Công cụ sửa đổi quyền truy cập mặc định

Khi không có công cụ sửa đổi quyền truy cập nào được chỉ định cho một lớp, phương thức hoặc một thành viên dữ liệu cụ thể, nó được cho là có mặc định truy cập chỉnh sửa.

Ngày thành viên, hoặc các phương thức không được khai báo bằng cách sử dụng bất kỳ công cụ sửa đổi lối vào nào, sẽ có công cụ sửa đổi mặc định chỉ có thể truy cập bên trong một gói tương tự. Nócó nghĩa là bạn không khai báo rõ ràng một công cụ sửa đổi truy cập cho một lớp, trường, phương thức, v.v.

Thí dụ:

c ++ sắp xếp ()
package p1 // Lớp học Khoá học đang có lớp sửa đổi quyền truy cập mặc định Khoá học {void display () {System.out.println ('Hello World!')}}

Tiếp theo, chúng ta hãy chuyển sang loại tiếp theo, công cụ sửa đổi quyền truy cập riêng tư.

Công cụ sửa đổi quyền truy cập riêng tư

  • Các phương thức hoặc thành viên dữ liệu được khai báo là private chỉ có thể truy cập được trong lớp mà chúng được khai báo.
  • Các lớp hoặc giao diện cấp cao nhất không thể được khai báo là riêng tư do thực tế là
    • Riêng biểu thị “ chỉ hiển thị bên trong lớp bao quanh '.
    • Được bảo vệ biểu thị “ j cần chú ý bên trong lớp bao quanh và bất kỳ lớp con nào '.
  • Nếu một lớp học cóđếnnhà xây dựng riêng thì bạn không thể tạo đối tượng của lớp đó từ bên ngoài lớp.
  • Lớp học không thể được đánh dấu bằng công cụ sửa đổi quyền truy cập riêng tư .
  • Việc biểu thị một lớp bằng công cụ sửa đổi quyền truy cập riêng sẽ ngụ ý rằng không một lớp nào khác có thể truy cập vào nó. Điều này thường ngụ ý rằng bạn không thể sử dụng lớp bằng bất kỳ trí tưởng tượng nào. Theo cách này, công cụ sửa đổi quyền truy cập riêng tư không tính đến các lớp.

Ghi chú : Lớp hoặc Giao diện không thể được khai báo là riêng tư.

Cú pháp:

đồng hồ lớp công cộng {private long time = 0}

Hãy xem một ví dụ để có ý tưởng rõ ràng về công cụ sửa đổi quyền truy cập riêng tư này.

Thí dụ:

package p class A {private void display () {System.out.println ('Edureka')}} class B {public static void main (String args []) {A obj = new A () // cố gắng truy cập private phương thức của lớp khác obj.display ()}}

Đầu ra của chương trình này là:

error: display () có quyền truy cập riêng tư trong A

obj.display ()

Hy vọng các bạn rõ ràng với công cụ sửa đổi quyền truy cập riêng tư. Tiếp theo, hãy chuyển sang loại tiếp theo, công cụ sửa đổi quyền truy cập công khai.

Công cụ sửa đổi quyền truy cập công cộng

  • Công cụ sửa đổi quyền truy cập công cộng được chỉ định bằng cách sử dụng từ khóa công cộng.
  • Công cụ sửa đổi quyền truy cập công khai có phạm vi rộng trong số tất cả các công cụ sửa đổi quyền truy cập khác.
  • , các phương thức hoặc thành viên dữ liệu được khai báo là công cộng Chúng tôi có thể truy cập bất cứ nơi nào trong suốt chương trình. Không có hạn chế về phạm vi dữ liệu công khai thành viên.

Cú pháp:

package edureka.co public class PublicClassDemo {// Ở đây tôi không đề cập đến bất kỳ công cụ sửa đổi nào nên nó hoạt động như một công cụ sửa đổi mặc định public int myMethod (int x) {return x}}

Bây giờ, hãy xem một ví dụ để có ý tưởng rõ ràng về công cụ sửa đổi quyền truy cập công khai này.

Thí dụ:

package p1 public class A {public void display () {System.out.println ('edureka!')}}
package p2 import p1. * class B {public static void main (String args []) {A obj = new A obj.display ()}}

Đầu ra: edureka!

Đây là tất cả mọi thứ về công cụ sửa đổi truy cập công cộng trong Java.

Hãy chuyển sang các công cụ sửa đổi quyền truy cập tiếp theo trong Java, các công cụ sửa đổi quyền truy cập được bảo vệ.

Công cụ sửa đổi quyền truy cập được bảo vệ

  • Công cụ sửa đổi quyền truy cập được bảo vệ được chỉ định bằng cách sử dụng từ khóa được bảo vệ .
  • Các phương thức hoặc thành viên dữ liệu được khai báo là được bảo vệ có thể truy cập được trong cùng một gói hoặc các lớp con trong một gói khác.
  • Các thành viên được bảo vệ chỉ có thể được truy cập trong lớp con hoặc lớp dẫn xuất.

Cú pháp:

gói package packageFourProtected public class ProtectedClassFour {protected int myMethod (int a) {return a}}

Chúng ta hãy xem một ví dụ.

Thí dụ:

spackage p1 // Lớp A public class A {protected void display () {System.out.println ('Đào tạo chứng chỉ Java')}}
gói p2 import p1. * // nhập tất cả các lớp trong gói p1 // Lớp B là lớp con của A Lớp B mở rộng A | {public static void main (String args []) {B obj = new B () obj.display ()}}

Đầu ra - Công cụ sửa đổi quyền truy cập trong Java - Edureka

Đây là mọi thứ bạn cần biết về các phương thức khác nhau dưới công cụ sửa đổi quyền truy cập trong Java. Hãy chuyển sang chủ đề tiếp theo.

Truy cập công cụ sửa đổi có ghi đè phương thức

Nếu trong trường hợp, bạn đang ghi đè bất kỳ phương thức nào, phương thức ghi đè được khai báo trong lớp con không được hạn chế.

Hãy xem ví dụ dưới đây.

class A {protected void msg () {System.out.println ('Hello java')}} public class Simple expand A {void msg () {System.out.println ('Hello java')} // CTError public static void main (String args []) {Simple obj = new Simple () obj.msg ()}}

Công cụ sửa đổi mặc định hạn chế hơn được bảo vệ. Đây là lý do tại sao có lỗi thời gian biên dịch.

Kiểm soát truy cập và kế thừa

  • Nếu trong trường hợp, bạn tạo một lớp con của một lớp nào đó, thì các phương thức trong lớp con đó không thể có các công cụ sửa đổi quyền truy cập ít được gán cho chúng hơn lớp cha.
  • Ví dụ: nếu một phương thức trong lớp cha là công cộng thì nó cũng phải công khai trong lớp con. Nếu một phương thức trong lớp cha là được bảo vệ, thì nó phải được bảo vệ hoặc công khai trong lớp con được chỉ định.
  • Các phương thức được khai báo là private hoàn toàn không được kế thừa.

Điều này đưa chúng ta đến phần cuối của bài viết này, nơi chúng ta đã học được trên các bổ ngữ Access trong Java. Hy vọng bạn rõ ràng với tất cả những gì đã được chia sẻ với bạn trong hướng dẫn này.

Đảm bảo rằng bạn luyện tập nhiều nhất có thể và hoàn nguyên trải nghiệm của mình.

Nếu bạn thấy bài viết này về “Access Modifier in Java” có liên quan, hãy xem một công ty học trực tuyến đáng tin cậy với mạng lưới hơn 250.000 người học hài lòng trải dài trên toàn cầu. Chúng tôi ở đây để giúp bạn từng bước trên hành trình của bạn, để trở thành một người ngoài câu hỏi phỏng vấn java này, chúng tôi còn đưa ra một chương trình giảng dạy được thiết kế cho sinh viên và các chuyên gia muốn trở thành một Nhà phát triển Java. Khóa học được thiết kế để cung cấp cho bạn khởi đầu về lập trình Java và đào tạo bạn về cả khái niệm Java cốt lõi và nâng cao cùng với các khung Java khác nhau như Hibernate & Spring.

Nếu bạn gặp bất kỳ câu hỏi nào, vui lòng đặt tất cả các câu hỏi của bạn trong phần nhận xét của “Access Modifier trong Java” và nhóm của chúng tôi sẽ sẵn lòng trả lời.