Access modifiers ใน Java ใช้เพื่อระบุระดับการเข้าถึงสำหรับคลาสเมธอดตัวแปรและคอนสตรัคเตอร์ช่วยในการอัปเดตค่าของไฟล์ . หรือที่เรียกว่า แก้ไขการมองเห็น ผ่านสื่อกลางของบล็อกนี้ฉันจะช่วยให้คุณเข้าใจว่าอะไรคือความสำคัญของตัวแก้ไขการเข้าถึงในไฟล์ .
ฉันจะพูดถึงหัวข้อต่างๆตามลำดับต่อไปนี้:
- Access Modifier คืออะไร?
- ประเภทของ Access Modifier
- เข้าถึงตัวปรับแต่งด้วยวิธีการแทนที่
- การควบคุมการเข้าถึงและการสืบทอด
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 มาดูหัวข้อถัดไปกัน
เข้าถึงตัวปรับแต่งด้วยวิธีการแทนที่
หากในกรณีนี้คุณกำลังลบล้างเมธอดใด ๆ เมธอดที่ถูกลบล้างซึ่งประกาศในคลาสย่อยจะต้องไม่ จำกัด
ลองดูตัวอย่างด้านล่าง
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” และทีมงานของเรายินดีที่จะตอบ