"สวัสดี Amigo! วันนี้เราจะพูดถึงแพ็คเกจ"

"ไฟล์ในคอมพิวเตอร์ถูกจัดกลุ่มเป็นโฟลเดอร์ คลาสใน Java (ทุกคลาสจะถูกจัดเก็บไว้ในไฟล์แยกต่างหาก) จะถูกจัดกลุ่มเป็นแพ็คเกจ ซึ่งสอดคล้องกับโฟลเดอร์ในฮาร์ดไดรฟ์ดังนั้น จึงไม่มีอะไรใหม่ที่นี่ มีสองสิ่งที่ฉัน อยากจะชี้ให้เห็น"

" อย่างแรกชื่อเต็มเฉพาะของคลาสประกอบด้วยชื่อแพ็คเกจบวกกับชื่อคลาสนี่คือตัวอย่างบางส่วน:"

ชื่อเต็มไม่ซ้ำใคร ชื่อแพ็คเกจ ชื่อชั้น
java.io.FileInputStream java.io FileInputStream
java.lang.String java.lang สตริง
java.util.ArrayList java.util รายการอาร์เรย์
org.apache.tomcat.Servlet org.apache.tomcat เซิร์ฟเล็ต
แมว ไม่ได้ระบุ แมว

"ชื่อเต็มของคลาสจะไม่ซ้ำกันเสมอ"

"คงเป็นเรื่องที่น่าปวดหัวหากเราต้องเขียนชื่อยาว เช่นjava.util.ArrayListทุกครั้ง นั่นคือเหตุผลที่ Java อนุญาตให้คุณนำเข้าคลาส คุณสามารถใช้ชื่อย่อของคลาสอื่นในโค้ดของคุณได้ แต่ที่จุดเริ่มต้นของ ชั้นเรียนของคุณ คุณต้องระบุอย่างชัดเจนว่าจะใช้ชั้นเรียนใด"

"คุณทำอย่างนั้นได้อย่างไร"

"ด้วยบรรทัดที่มีลักษณะดังนี้: import java.util.ArrayList;"

"เมื่อเริ่มต้นคลาส ทันทีหลังจากประกาศแพ็คเกจ คุณสามารถระบุได้ว่าคุณกำลังอ้างถึงคลาสใด เมื่อคุณใช้ArrayListในโค้ดของคุณ"

"เหตุใดจึงซับซ้อนเกินไป ชั้นเรียนสามารถมีชื่อเหมือนกันได้หรือไม่"

"ใช่ อาจมีคลาสที่มีชื่อเดียวกันในแพ็กเกจที่แตกต่างกันเราไม่สามารถนำเข้าคลาสที่มีชื่อเหมือนกัน 2 คลาสได้ดังนั้น เราจะต้องเรียกคลาสหนึ่งด้วยชื่อเต็ม"

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

" ประการที่สองจะดีกว่าเสมอที่จะวางคลาสลงในแพ็คเกจ ไม่ใช่ในโฟลเดอร์ root srcเมื่อคุณมีคลาสไม่มากนัก สิ่งนี้ไม่ใช่ปัญหา แต่เมื่อมีคลาสจำนวนมาก มันก็ง่ายที่จะผสมกัน สร้างคลาสเสมอ ภายในบรรจุภัณฑ์"

ใน Java แนวทางปฏิบัติทั่วไปคือการให้ชื่อคลาสและแพ็กเกจที่มีความหมาย หลายบริษัทออกไลบรารี (ชุดของคลาส) และตั้งชื่อตามบริษัทหรือเว็บไซต์เพื่อหลีกเลี่ยงความสับสน:"

ชื่อแพ็คเกจ ชื่อบริษัท/โครงการ
องค์กร อาปาเช่ .common
org อาปาเช่ .tomcat
org อาปาเช่ .util
อาปาเช่
คอม ออราเคิล .jdbc ออราเคิล
java .io
จาวา x.servlet
ซัน, ชวา
คอม ibm.websphere ไอบีเอ็ม, เว็บสเฟียร์
คอม บอส เจบอส