Access Modifiers ใน Java: สิ่งที่คุณต้องรู้



บทความนี้จะช่วยให้คุณเข้าใจว่าตัวแก้ไขการเข้าถึงใน Java คืออะไรและเรียนรู้เกี่ยวกับประเภทต่างๆเช่นสาธารณะส่วนตัวการป้องกันและค่าเริ่มต้น

Access modifiers ใน Java ใช้เพื่อระบุระดับการเข้าถึงสำหรับคลาสเมธอดตัวแปรและคอนสตรัคเตอร์ช่วยในการอัปเดตค่าของไฟล์ . หรือที่เรียกว่า แก้ไขการมองเห็น ผ่านสื่อกลางของบล็อกนี้ฉันจะช่วยให้คุณเข้าใจว่าอะไรคือความสำคัญของตัวแก้ไขการเข้าถึงในไฟล์ .

ฉันจะพูดถึงหัวข้อต่างๆตามลำดับต่อไปนี้:





เริ่มต้นด้วยหัวข้อแรก

Access Modifier คืออะไร?



คุณอาจเจอ สาธารณะ , เอกชน และ มีการป้องกัน คำหลักในขณะที่ฝึกฝนใด ๆ ซึ่งเรียกว่า Access Modifiersตามชื่อที่แนะนำ Access Modifiers ใน Java จะช่วย จำกัด ขอบเขตของคลาสตัวสร้างตัวแปรวิธีการหรือสมาชิกข้อมูล

ตัวแก้ไขการเข้าถึงสามารถระบุแยกกันสำหรับคลาสตัวสร้าง,ฟิลด์และวิธีการ พวกเขายังเรียกอีกอย่างว่า ตัวระบุการเข้าถึง Java แต่ชื่อที่ถูกต้องคือ ตัวแก้ไขการเข้าถึง Java .

ดังนั้นให้เราเจาะลึกลงไปใน Access Modifiers ประเภทต่างๆใน Java



ประเภทของ Access Modifier

มีคีย์เวิร์ดตัวแก้ไขการเข้าถึงสี่คำใน และพวกเขาคือ:

  • ตัวปรับการเข้าถึงเริ่มต้น
  • ตัวปรับการเข้าถึงส่วนตัว
  • ตัวปรับการเข้าถึงสาธารณะ
  • ตัวปรับการเข้าถึงที่ได้รับการป้องกัน

ให้เราเรียนรู้เกี่ยวกับแต่ละคนโดยละเอียด

ตัวปรับการเข้าถึงเริ่มต้น

เมื่อไม่มีการระบุตัวแก้ไขการเข้าถึงสำหรับคลาสเมธอดหรือสมาชิกข้อมูลโดยเฉพาะจะมีการกล่าวว่ามี ค่าเริ่มต้น เข้าถึงแก้ไข

วันที่สมาชิก หรือวิธีการที่ไม่ได้ประกาศโดยใช้ตัวปรับแต่งทางเข้าใด ๆ จะมีตัวแก้ไขเริ่มต้นซึ่งสามารถเข้าถึงได้ภายในกลุ่มที่คล้ายกันเท่านั้น มันหมายความว่าคุณไม่ได้ประกาศตัวแก้ไขการเข้าถึงสำหรับคลาสฟิลด์เมธอด ฯลฯ อย่างชัดเจน

ตัวอย่าง:

mongodb ใช้ทำอะไร
package p1 // Class Course กำลังมีคลาสตัวปรับการเข้าถึงเริ่มต้นหลักสูตร {void display () {System.out.println ('Hello World!')}}

ต่อไปให้เราไปยังประเภทถัดไปตัวปรับการเข้าถึงส่วนตัว

ตัวปรับการเข้าถึงส่วนตัว

  • เมธอดหรือสมาชิกข้อมูลที่ประกาศว่าเป็นส่วนตัวสามารถเข้าถึงได้ภายในคลาสที่มีการประกาศเท่านั้น
  • ไม่สามารถประกาศคลาสหรืออินเทอร์เฟซระดับบนสุดเป็นส่วนตัวได้เนื่องจากข้อเท็จจริงที่ว่า
    • ส่วนตัวหมายถึง“ มองเห็นได้ภายในคลาสปิดล้อม '.
    • การป้องกันหมายถึง“ สังเกตเห็นได้ชัดเจนภายในคลาสปิดล้อมและคลาสย่อยใด ๆ '.
  • ถ้าชั้นเรียนมีถึงตัวสร้างส่วนตัว คุณจะไม่สามารถสร้างออบเจ็กต์ของคลาสนั้นจากภายนอกคลาสได้
  • ไม่สามารถทำเครื่องหมายชั้นเรียนด้วย ตัวปรับการเข้าถึงส่วนตัว .
  • การระบุคลาสด้วยตัวปรับการเข้าถึงส่วนตัวจะบ่งบอกว่าไม่มีคลาสอื่นที่สามารถเข้าถึงคลาสได้ โดยทั่วไปหมายความว่าคุณไม่สามารถใช้ประโยชน์จากชั้นเรียนได้ด้วยจินตนาการที่ยืดยาว ด้วยวิธีนี้ตัวปรับแต่งการเข้าถึงส่วนตัวจะไม่คำนึงถึงคลาส

บันทึก : ไม่สามารถประกาศคลาสหรืออินเทอร์เฟซเป็นส่วนตัวได้

ไวยากรณ์:

นาฬิกาสาธารณะ {private long time = 0}

ดูตัวอย่างเพื่อให้เข้าใจชัดเจนเกี่ยวกับตัวแก้ไขการเข้าถึงส่วนตัวนี้

ตัวอย่าง:

แพ็กเกจ p คลาส A {private void display () {System.out.println ('Edureka')}} class B {public static void main (String args []) {A obj = new A () // พยายามเข้าถึง private วิธีการของคลาสอื่น obj.display ()}}

ผลลัพธ์ของโปรแกรมนี้คือ:

ข้อผิดพลาด: display () มีการเข้าถึงส่วนตัวใน A

obj.display ()

หวังว่าพวกคุณจะชัดเจนกับตัวปรับการเข้าถึงส่วนตัว ต่อไปเราจะไปยังประเภทถัดไปตัวแก้ไขการเข้าถึงสาธารณะ

ตัวปรับการเข้าถึงสาธารณะ

  • ตัวแก้ไขการเข้าถึงสาธารณะถูกระบุโดยใช้คีย์เวิร์ด สาธารณะ.
  • ตัวแก้ไขการเข้าถึงสาธารณะมีขอบเขตที่กว้างขวางในบรรดาตัวแก้ไขการเข้าถึงอื่น ๆ ทั้งหมด
  • วิธีการหรือสมาชิกข้อมูลที่ประกาศเป็น สาธารณะ คือ สามารถเข้าถึงได้ทุกที่ โปรแกรม. ไม่มีการ จำกัด ขอบเขตของสมาชิกข้อมูลสาธารณะ

ไวยากรณ์:

package edureka.co คลาสสาธารณะ PublicClassDemo {// ที่นี่ฉันไม่ได้กล่าวถึงตัวปรับแต่งใด ๆ ดังนั้นมันจึงทำหน้าที่เป็นตัวปรับเริ่มต้น public int myMethod (int x) {return x}}

ตอนนี้ดูตัวอย่างเพื่อให้เข้าใจชัดเจนเกี่ยวกับตัวแก้ไขการเข้าถึงสาธารณะนี้

ตัวอย่าง:

แพ็กเกจ p1 คลาสสาธารณะ A {public void display () {System.out.println ('edureka!')}}
แพ็กเกจ p2 นำเข้า p1. * คลาส B {โมฆะแบบคงที่สาธารณะ main (String args []) {A obj = new A obj.display ()}}

เอาท์พุต: edureka!

นี่คือทุกอย่างเกี่ยวกับตัวแก้ไขการเข้าถึงสาธารณะใน Java

เรามาดูตัวแก้ไขการเข้าถึงถัดไปใน Java ตัวแก้ไขการเข้าถึงที่มีการป้องกัน

ตัวปรับการเข้าถึงที่ได้รับการป้องกัน

  • ตัวแก้ไขการเข้าถึงที่ได้รับการป้องกันถูกระบุโดยใช้คีย์เวิร์ด มีการป้องกัน .
  • วิธีการหรือสมาชิกข้อมูลที่ประกาศว่าได้รับการป้องกันสามารถเข้าถึงได้ภายในแพ็กเกจเดียวกันหรือคลาสย่อยในแพ็กเกจอื่น
  • สมาชิกที่ได้รับการป้องกันสามารถเข้าถึงได้เฉพาะในคลาสย่อยหรือคลาสที่ได้รับ

ไวยากรณ์:

package packageFourProtected คลาสสาธารณะ ProtectedClassFour {protected int myMethod (int a) {return a}}

ให้เราดูตัวอย่าง

ตัวอย่าง:

spackage p1 // คลาส A สาธารณะคลาส A {protected void display () {System.out.println ('Java Certification Training')}}
แพคเกจ p2 นำเข้า p1. * // การนำเข้าคลาสทั้งหมดในแพ็คเกจ p1 // คลาส B คือคลาสย่อยของคลาส B ขยาย A | {public static void main (String args []) {B obj = new B () obj.display ()}}

เอาต์พุต - ตัวปรับแต่งการเข้าถึงใน Java - Edureka

นี่คือทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับวิธีการต่างๆภายใต้ตัวแก้ไขการเข้าถึงใน Java มาดูหัวข้อถัดไปกัน

เข้าถึงตัวปรับแต่งด้วยวิธีการแทนที่

หากในกรณีนี้คุณกำลังลบล้างเมธอดใด ๆ เมธอดที่ถูกลบล้างซึ่งประกาศในคลาสย่อยจะต้องไม่ จำกัด

ลองดูตัวอย่างด้านล่าง

class A {protected void msg () {System.out.println ('Hello java')}} public class Simple ขยาย A {void msg () {System.out.println ('Hello java')} // CTError public โมฆะคง main (String args []) {Simple obj = new Simple () obj.msg ()}}

ตัวปรับเริ่มต้นมีข้อ จำกัด มากกว่าที่ได้รับการป้องกัน นี่คือสาเหตุที่มีข้อผิดพลาดเวลาคอมไพล์

การควบคุมการเข้าถึงและการสืบทอด

  • หากในกรณีนี้คุณสร้างคลาสย่อยของคลาสบางคลาสดังนั้นเมธอดในคลาสย่อยนั้นจะไม่สามารถมีตัวแก้ไขการเข้าถึงที่สามารถเข้าถึงได้น้อยกว่าที่กำหนดให้กับคลาสเหล่านั้น
  • ตัวอย่างเช่นถ้าเมธอดในซูเปอร์คลาสคือ สาธารณะ จากนั้นจะต้องเป็นสาธารณะในคลาสย่อยด้วย ถ้าเมธอดในซูเปอร์คลาสคือ มีการป้องกัน, จากนั้นจะต้องได้รับการป้องกันหรือสาธารณะในคลาสย่อยที่ระบุ
  • วิธีการที่ประกาศว่าเป็นส่วนตัวจะไม่ได้รับการสืบทอดเลย

สิ่งนี้ทำให้เรามาถึงตอนท้ายของบทความนี้ซึ่งเราได้เรียนรู้ บน Access modifiers ใน Java หวังว่าคุณจะชัดเจนกับทุกสิ่งที่แบ่งปันกับคุณในบทช่วยสอนนี้

ให้แน่ใจว่าคุณฝึกฝนให้มากที่สุดและเปลี่ยนประสบการณ์

หากคุณพบบทความเกี่ยวกับ“ Access Modifiers ใน Java” ที่เกี่ยวข้องโปรดดูที่ไฟล์ บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้พร้อมเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก เราพร้อมที่จะช่วยเหลือคุณในทุกขั้นตอนในการเดินทางของคุณสำหรับการเป็นนอกเหนือจากคำถามสัมภาษณ์ java นี้เรามาพร้อมกับหลักสูตรที่ออกแบบมาสำหรับนักเรียนและมืออาชีพที่ต้องการเป็น Java Developer หลักสูตรนี้ออกแบบมาเพื่อให้คุณเริ่มต้นการเขียนโปรแกรม Java และฝึกอบรมแนวคิด Java ทั้งหลักและขั้นสูงพร้อมกับเฟรมเวิร์ก Java ต่างๆเช่น Hibernate & Spring

หากคุณพบคำถามใด ๆ อย่าลังเลที่จะถามคำถามทั้งหมดของคุณในส่วนความคิดเห็นของ“ Access Modifiers ใน Java” และทีมงานของเรายินดีที่จะตอบ