(1) สำหรับตัวดัดแปลงสาธารณะมันมีสิทธิ์การเข้าถึงที่ใหญ่ที่สุดและสามารถเข้าถึงคลาสอินเทอร์เฟซข้อยกเว้น ฯลฯ ภายใต้ ClassPath มันมักจะใช้ในกรณีภายนอกนั่นคือรูปแบบอินเตอร์เฟสของวัตถุหรือคลาสภายนอกไปยังภายนอก
(2) สำหรับตัวดัดแปลงที่ได้รับการป้องกันฟังก์ชั่นหลักคือการปกป้องคลาสย่อย ความหมายของมันคือ subclass สามารถแก้ไขได้และอื่น ๆ ไม่สามารถเป็นได้ มันเทียบเท่ากับสิ่งที่สืบทอดมาผ่านคลาสย่อย
(3) สำหรับค่าเริ่มต้นบางครั้งมันก็กลายเป็นสมาชิกที่เป็นมิตร มันถูกออกแบบมาสำหรับการเข้าถึงแพ็คเกจนี้ คลาสอินเทอร์เฟซข้อยกเว้น ฯลฯ ใด ๆ ที่อยู่ภายใต้แพ็คเกจนี้สามารถเข้าถึงได้ซึ่งกันและกันแม้กระทั่งสมาชิกของคลาสแม่ที่ไม่ได้รับการแก้ไขด้วยการป้องกัน
(4) สำหรับส่วนตัวสิทธิ์การเข้าถึงนั้น จำกัด อยู่ที่ด้านในของชั้นเรียนซึ่งเป็นการรวมตัวกันของการห่อหุ้ม ตัวอย่างเช่นตัวแปรสมาชิกส่วนใหญ่เป็นตัวดัดแปลงส่วนตัวและไม่ต้องการเข้าถึงโดยคลาสภายนอกอื่น ๆ
ตารางต่อไปนี้แสดงความหมายและการใช้อักขระควบคุมการเข้าถึง Java
| ภายในชั้นเรียน | แพ็คเกจนี้ | คลาสย่อย | แพ็คเกจภายนอก | |
| สาธารณะ | ||||
| ได้รับการคุ้มครอง | ||||
| ค่าเริ่มต้น | ||||
| ส่วนตัว |
หมายเหตุ: การควบคุมการเข้าถึงของ Java ยังคงอยู่ที่เลเยอร์การรวบรวมนั่นคือมันจะไม่ทิ้งร่องรอยใด ๆ ไว้ในไฟล์. class และตรวจสอบการควบคุมการเข้าถึงระหว่างการรวบรวมเท่านั้น ในความเป็นจริงผ่านการสะท้อนคุณสามารถเข้าถึงสมาชิกของชั้นเรียนใด ๆ ภายใต้แพ็คเกจใด ๆ ตัวอย่างเช่นยังเป็นไปได้ที่จะเข้าถึงสมาชิกส่วนตัวของชั้นเรียน
ความแตกต่าง:
(1) สาธารณะ: สามารถเข้าถึงได้โดยชั้นเรียนอื่น ๆ ทั้งหมด
(2) ส่วนตัว: สามารถเข้าถึงและแก้ไขได้ด้วยตัวเองเท่านั้น
(3) การป้องกัน: สามารถเข้าถึงได้ด้วยตัวเองคลาสย่อยและคลาสในแพ็คเกจเดียวกัน
(4) ค่าเริ่มต้น: คลาสในแพ็คเกจเดียวกันสามารถเข้าถึงได้และไม่มีการเพิ่มตัวดัดแปลงเมื่อประกาศดังนั้นจึงถือว่าเป็นมิตร
ข้างต้นคือเนื้อหาทั้งหมดของความแตกต่าง (คำอธิบายโดยละเอียด) ใน Java นำมาให้คุณโดยบรรณาธิการ ฉันหวังว่าทุกคนจะสนับสนุน wulin.com ~