นวัตกรรมใหม่ล่าสุด เป็นแนวคิดของแพ็คเกจแพ็กเกจใน Java เป็นวิธีการห่อหุ้มกลุ่มของคลาสอินเตอร์เฟสการแจงนับคำอธิบายประกอบและแพ็กเกจย่อย ตามแนวคิดแล้วคุณสามารถคิดว่าแพ็คเกจ java นั้นคล้ายกับโฟลเดอร์ต่างๆในคอมพิวเตอร์ของคุณ ในบทช่วยสอนนี้เราจะพูดถึงพื้นฐานของแพ็คเกจใน
ด้านล่างนี้เป็นหัวข้อที่กล่าวถึงในบทความนี้:
- Package ใน Java คืออะไร?
- แพ็คเกจในตัว
- ผู้ใช้กำหนดแพ็คเกจ
- การนำเข้าแบบคงที่ใน Java
- การป้องกันการเข้าถึงในแพ็คเกจ Java
- จุดที่ต้องจำ
Package ใน Java คืออะไร?
แพ็กเกจ Java เป็นกลไกในการจัดกลุ่มคลาสอินเตอร์เฟสและคลาสย่อยที่คล้ายกันโดยรวมตามฟังก์ชันการทำงาน เมื่อซอฟต์แวร์ถูกเขียนในรูปแบบ ซึ่งอาจประกอบด้วยชั้นเรียนหลายร้อยหรือหลายพันชั้น ผมt เหมาะสมที่จะจัดระเบียบสิ่งต่างๆโดยการวางคลาสและอินเทอร์เฟซที่เกี่ยวข้องลงในแพ็คเกจ
การใช้แพ็คเกจในขณะที่เข้ารหัสมีข้อดีมากมายเช่น:
- การใช้งานซ้ำ: คลาสที่อยู่ในแพ็คเกจของโปรแกรมอื่นสามารถนำกลับมาใช้ใหม่ได้อย่างง่ายดาย
- ความขัดแย้งของชื่อ: แพ็คเกจช่วยให้เราระบุชั้นเรียนโดยไม่ซ้ำกันตัวอย่างเช่นเราสามารถมีได้ company.sales.Employee และ company.marketing.Employee ชั้นเรียน
- การเข้าถึงที่ควบคุม: ข้อเสนอ การป้องกันการเข้าถึง เช่นหน้าคลาสที่หมุนเวียนคลาสเริ่มต้นและคลาสส่วนตัว
- การห่อหุ้มข้อมูล : พวกเขา pจัดเตรียมวิธีการซ่อนคลาสป้องกันไม่ให้โปรแกรมอื่นเข้าถึงคลาสที่มีไว้สำหรับใช้งานภายในเท่านั้น
- การบำรุงรักษา: ด้วยแพ็คเกจคุณสามารถจัดระเบียบโครงการของคุณให้ดีขึ้นและค้นหาชั้นเรียนที่เกี่ยวข้องได้อย่างง่ายดาย
เป็นแนวทางปฏิบัติที่ดีในการใช้แพ็กเกจขณะเขียนโค้ดใน Java ในฐานะโปรแกรมเมอร์คุณสามารถทำได้คิดออกได้อย่างง่ายดาย อินเทอร์เฟซการแจงนับและคำอธิบายประกอบที่เกี่ยวข้อง เรามีแพ็คเกจสองประเภทใน java
ประเภทของแพ็คเกจใน Java
ขึ้นอยู่กับว่าผู้ใช้กำหนดแพ็กเกจหรือไม่แพ็กเกจจะแบ่งออกเป็นสองประเภท:
- แพ็คเกจในตัว
- ผู้ใช้กำหนดแพ็คเกจ
แพ็คเกจในตัว
แพ็คเกจในตัวหรือแพ็คเกจที่กำหนดไว้ล่วงหน้าคือแพ็คเกจที่มาพร้อมกันเป็นส่วนหนึ่งของ (Java Development Kit) เพื่อลดความซับซ้อนของงานของโปรแกรมเมอร์ Java ประกอบด้วยคลาสและอินเทอร์เฟซที่กำหนดไว้ล่วงหน้าจำนวนมากซึ่งเป็นส่วนหนึ่งของ Java API แพ็คเกจในตัวที่ใช้กันทั่วไป ได้แก่ java.lang, java.io, java.util, java.applet และอื่น ๆ นี่คือโปรแกรมง่ายๆที่ใช้แพ็คเกจในตัว
package Edureka import java.util.ArrayList class BuiltInPackage {public static void main (String [] args) {ArrayList myList = new ArrayList (3) myList.add (3) myList.add (2) myList.add (1) System. out.println ('องค์ประกอบของรายการคือ:' + myList)}}
เอาท์พุต:
องค์ประกอบของรายการ ได้แก่ : [3, 2, 1]
คลาส ArrayList เป็นของแพ็คเกจ java.util ในการใช้งานเราต้องนำเข้าแพคเกจโดยใช้คำสั่งนำเข้า บรรทัดแรกของรหัส นำเข้า java.util.ArrayList นำเข้าแพ็คเกจ java.util และใช้ ซึ่งมีอยู่ในยูทิลแพ็กเกจย่อย
ผู้ใช้กำหนดแพ็คเกจ
แพ็กเกจที่ผู้ใช้กำหนดคือแพ็กเกจที่พัฒนาโดยผู้ใช้เพื่อจัดกลุ่มคลาสอินเตอร์เฟสและแพ็กเกจย่อยที่เกี่ยวข้อง ด้วยความช่วยเหลือของโปรแกรมตัวอย่างเรามาดูวิธีสร้างแพ็กเกจรวบรวมโปรแกรม Java ภายในแพ็กเกจและดำเนินการ
การสร้างแพ็คเกจใน Java
การสร้างแพ็คเกจใน Java เป็นงานที่ง่ายมาก เลือกชื่อแพ็กเกจและรวมไฟล์ แพ็คเกจ คำสั่งเป็นคำสั่งแรกในซอร์สไฟล์ Java ไฟล์ซอร์ส java สามารถมีคลาสอินเตอร์เฟสการแจงนับและชนิดคำอธิบายประกอบที่คุณต้องการรวมไว้ในแพ็กเกจตัวอย่างเช่นคำสั่งต่อไปนี้สร้างแพ็คเกจชื่อ MyPackage
java system.exit (1)
แพ็คเกจ MyPackage
คำสั่งแพ็กเกจเพียงระบุว่าคลาสที่กำหนดเป็นของแพ็กเกจใด ..
บันทึก: หากคุณละเว้นคำสั่งแพ็กเกจชื่อคลาสจะถูกใส่ลงในแพ็กเกจเริ่มต้นซึ่งไม่มีชื่อ แม้ว่าแพ็คเกจเริ่มต้นจะใช้ได้ดีสำหรับโปรแกรมสั้น ๆ แต่ก็ไม่เพียงพอสำหรับการใช้งานจริง
รวมคลาสในแพ็คเกจ Java
ถึงสร้างคลาสภายในแพ็กเกจคุณควรประกาศชื่อแพ็กเกจเป็นคำสั่งแรกของโปรแกรมของคุณ จากนั้นรวมชั้นเรียนเป็นส่วนหนึ่งของแพ็กเกจ แต่จำไว้ว่าคลาสสามารถมีการประกาศแพ็กเกจได้เพียงรายการเดียว นี่คือโปรแกรมง่ายๆในการทำความเข้าใจแนวคิด
package MyPackage public class เปรียบเทียบ {int num1, num2 Compare (int n, int m) {num1 = n num2 = m} public void getmax () {if (num1> num2) {System.out.println ('ค่าสูงสุดของสอง number คือ '+ num1)} else {System.out.println (' Maximum value of two numbers is '+ num2)}} public static void main (String args []) {Compare current [] = new Compare [3] current [1] = new Compare (5, 10) current [2] = new Compare (123, 120) สำหรับ (int i = 1 i<3 i++) { current[i].getmax() } } }
เอาท์พุต:
ค่าสูงสุดของสองตัวเลขคือ 10 ค่าสูงสุดของตัวเลขสองตัวคือ 123
อย่างที่คุณเห็นฉันได้ประกาศแพ็คเกจชื่อ MyPackage และสร้างคลาสเปรียบเทียบภายในแพ็คเกจนั้น Java ใช้ไดเร็กทอรีระบบไฟล์เพื่อจัดเก็บแพ็กเกจ ดังนั้นโปรแกรมนี้จะถูกบันทึกในไฟล์เป็น เปรียบเทียบ java และจะถูกเก็บไว้ในไดเร็กทอรีชื่อ MyPackage เมื่อไฟล์ถูกคอมไพล์ Java จะสร้างไฟล์ .class ไฟล์และเก็บไว้ในไดเร็กทอรีเดียวกัน โปรดจำไว้ว่าชื่อของแพ็กเกจต้องเหมือนกับไดเร็กทอรีที่บันทึกไฟล์นี้
คุณอาจสงสัยว่าจะใช้คลาส Compare นี้จากคลาสในแพ็คเกจอื่นได้อย่างไร?
การสร้างคลาสภายในแพ็กเกจในขณะที่อิมพอร์ตแพ็กเกจอื่น
มันค่อนข้างง่าย คุณต้องนำเข้า เมื่อนำเข้าแล้วคุณสามารถเข้าถึงได้โดยใช้ชื่อ นี่คือตัวอย่างโปรแกรมที่แสดงแนวคิด
แพ็คเกจ Edureka import MyPackage เปรียบเทียบคลาสสาธารณะ Demo {public static void main (String args []) {int n = 10, m = 10 Compare current = new Compare (n, m) if (n! = m) {current.getmax ()} else {System.out.println ('ทั้งสองค่าเหมือนกัน')}}
เอาท์พุต:
ทั้งสองค่าเหมือนกัน
ฉันได้ประกาศแพ็คเกจเป็นครั้งแรก Edureka จากนั้นนำเข้าชั้นเรียน เปรียบเทียบ จากแพ็คเกจ MyPackage ดังนั้นการสั่งซื้อเมื่อเราสร้างคลาสภายในแพ็กเกจในขณะที่นำเข้าแพ็กเกจอื่นคือ
- การประกาศแพ็กเกจ
- นำเข้าแพ็คเกจ
ถ้าคุณไม่ต้องการใช้คำสั่งนำเข้ามีทางเลือกอื่นในการเข้าถึงไฟล์คลาสของแพ็คเกจจากแพ็คเกจอื่น คุณสามารถใช้ชื่อแบบเต็มขณะนำเข้าไฟล์ .
การใช้ชื่อแบบเต็มขณะอิมพอร์ตคลาส
นี่คือตัวอย่างเพื่อทำความเข้าใจแนวคิด ฉันจะใช้แพ็คเกจเดียวกับที่ฉันได้ประกาศไว้ก่อนหน้านี้ในบล็อก MyPackage .
package Edureka public class Demo {public static void main (String args []) {int n = 10, m = 11 // ใช้ชื่อที่มีคุณสมบัติครบถ้วนแทนการนำเข้า MyPackage เปรียบเทียบ current = new MyPackage.Compare (n, m) if ( n! = m) {current.getmax ()} else {System.out.println ('ทั้งสองค่าเหมือนกัน')}}}
เอาท์พุต:
ค่าสูงสุดของตัวเลขสองตัวคือ 11
ในคลาสสาธิตแทนที่จะนำเข้าแพ็กเกจฉันได้ใช้ชื่อแบบเต็มเช่น MyPackage เปรียบเทียบ เพื่อสร้างวัตถุของมัน เนื่องจากเรากำลังพูดถึงการนำเข้าแพ็คเกจคุณอาจลองดูแนวคิดของการนำเข้าแบบคงที่ใน Java
การนำเข้าแบบคงที่ใน Java
คุณลักษณะการนำเข้าแบบคงที่ได้รับการแนะนำใน จากเวอร์ชัน 5 ช่วยให้โปรแกรมเมอร์ Java สามารถเข้าถึงแบบคงที่ได้สมาชิกของคลาสโดยตรงโดยไม่ต้องใช้ชื่อแบบเต็ม
แพคเกจ MyPackage นำเข้า java.lang.Math แบบคงที่ * // การนำเข้าแบบคงที่ java.lang.System. sqrt (val) // วิธีการเข้าถึง sqrt () โดยตรง out.println ('Sq. root ของ' + val + 'คือ' + sqroot) // เราไม่จำเป็นต้องใช้ 'System.out}}
เอาท์พุต:
ตรว. รูทของ 64.0 คือ 8.0
แม้ว่าการใช้การนำเข้าแบบคงที่จะเกี่ยวข้องกับการเข้ารหัสน้อยลง แต่การใช้มากเกินไปอาจทำให้โปรแกรมไม่สามารถอ่านได้และไม่สามารถเข้าถึงได้ ตอนนี้เรามาดูหัวข้อถัดไปการควบคุมการเข้าถึงในแพ็คเกจ
การป้องกันการเข้าถึงในแพ็คเกจ Java
คุณอาจทราบถึงแง่มุมต่างๆของกลไกการควบคุมการเข้าถึงของ Java และมัน ตัวระบุการเข้าถึง . แพ็กเกจใน Java เพิ่มมิติอื่นในการควบคุมการเข้าถึง ทั้งคลาสและแพ็กเกจเป็นวิธีการ การห่อหุ้มข้อมูล . ในขณะที่แพ็กเกจทำหน้าที่เป็นคอนเทนเนอร์สำหรับคลาสและแพ็กเกจรองอื่น ๆ คลาสทำหน้าที่เป็นคอนเทนเนอร์สำหรับข้อมูลและโค้ด เนื่องจากการทำงานร่วมกันระหว่างแพ็กเกจและคลาสนี้แพ็กเกจ Java จึงจัดการกับการมองเห็นสี่ประเภทสำหรับสมาชิกคลาส:
- คลาสย่อยในแพ็คเกจเดียวกัน
- ไม่ใช่คลาสย่อยในแพ็คเกจเดียวกัน
- คลาสย่อยในแพ็คเกจต่างๆ
- คลาสที่ไม่ได้อยู่ในแพ็คเกจเดียวกันหรือคลาสย่อย
ตารางด้านล่างแสดงไฟล์ภาพจริงของการเข้าถึงประเภทใดที่เป็นไปได้และไม่ใช่เมื่อใช้แพ็คเกจใน Java:
เอกชน | ไม่มีตัวปรับแต่ง | มีการป้องกัน | สาธารณะ | |
ชั้นเดียวกัน | ใช่ | ใช่ | ใช่ | ใช่ ประเภทข้อมูลวันที่เซิร์ฟเวอร์ sql |
คลาสย่อยแพ็กเกจเดียวกัน | ไม่ | ใช่ | ใช่ | ใช่ |
แพ็กเกจเดียวกันที่ไม่ใช่คลาสย่อย | ไม่ | ใช่ | ใช่ ตัวอย่างแอปพลิเคชัน mvc ใน java | ใช่ |
คลาสย่อยของแพ็คเกจที่แตกต่างกัน | ไม่ | ไม่ | ใช่ | ใช่ |
แพ็คเกจที่แตกต่างกันที่ไม่ใช่คลาสย่อย | ไม่ | ไม่ | ไม่ | ใช่ |
เราสามารถลดความซับซ้อนของข้อมูลในตารางด้านบนได้ดังนี้:
- ทุกสิ่งที่ประกาศสาธารณะสามารถเข้าถึงได้จากทุกที่
- ทุกสิ่งที่ประกาศเป็นส่วนตัวจะเห็นได้เฉพาะในชั้นเรียนนั้น
- หากไม่ได้กล่าวถึงตัวระบุการเข้าถึงองค์ประกอบจะมองเห็นได้สำหรับคลาสย่อยและคลาสอื่น ๆ ในแพ็กเกจเดียวกัน
- ประการสุดท้ายองค์ประกอบที่ได้รับการป้องกันที่ประกาศไว้สามารถมองเห็นได้ภายนอกแพ็กเกจปัจจุบันของคุณ แต่เฉพาะคลาสที่ย่อยคลาสของคุณโดยตรง
ด้วยวิธีนี้แพ็กเกจ Java ให้การควบคุมการเข้าถึงคลาส สิ่งนี้สรุปแนวคิดของแพ็คเกจใน Java นี่คือบางจุดที่คุณควรคำนึงถึงเมื่อใช้แพ็คเกจ .
จุดที่ต้องจำ
- ทุกชั้นเรียนเป็นส่วนหนึ่งของแพ็คเกจบางอย่าง หากคุณละเว้นคำสั่งแพ็กเกจชื่อคลาสจะถูกใส่ลงในแพ็กเกจเริ่มต้น
- คลาสสามารถมีคำสั่งแพ็กเกจได้เพียงคำสั่งเดียว แต่สามารถมีคำสั่งแพ็กเกจการนำเข้าได้มากกว่าหนึ่งรายการ
- ชื่อของแพ็กเกจต้องตรงกับไดเร็กทอรีที่บันทึกไฟล์
- เมื่อนำเข้าแพ็กเกจอื่นการประกาศแพ็กเกจต้องเป็นคำสั่งแรกตามด้วยการนำเข้าแพ็กเกจ
เรามาถึงตอนท้ายของบทความ 'แพ็กเกจใน Java' เราได้เรียนรู้แพ็คเกจคืออะไรและทำไมเราควรใช้ ไม่ต้องสงสัยเลยว่าแพ็คเกจ Java เป็นหนึ่งในส่วนที่สำคัญที่สุดสำหรับโปรแกรมเมอร์ java ที่มีประสิทธิภาพ ไม่เพียง แต่อัปเกรดรูปแบบการเขียนโปรแกรมของโปรแกรมเมอร์เท่านั้น แต่ยังช่วยลดงานเพิ่มเติมจำนวนมากอีกด้วย
หากคุณพบบทความนี้เกี่ยวกับ“ แพ็คเกจใน Java” ให้ดูที่ไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก เราพร้อมที่จะช่วยเหลือคุณในทุกขั้นตอนในการเดินทางของคุณสำหรับการเป็นนอกเหนือจากคำถามสัมภาษณ์ java นี้เรามาพร้อมกับหลักสูตรที่ออกแบบมาสำหรับนักเรียนและมืออาชีพที่ต้องการเป็น Java Developer