แพ็คเกจในภาษาจาวา
แพ็คเกจถูกใช้ใน Java เพื่อป้องกันความขัดแย้งในการตั้งชื่อ เพื่อควบคุมการเข้าถึง เพื่อให้การค้นหา/ระบุตำแหน่งและการใช้งานคลาส อินเทอร์เฟซ การแจงนับและคำอธิบายประกอบง่ายขึ้น เป็นต้น
เนมสเปซได้รับการออกแบบมาเพื่อจัดเตรียมวิธีแยกชื่อชุดหนึ่งออกจากชุดอื่น ชื่อคลาสที่ประกาศในเนมสเปซหนึ่งไม่ขัดแย้งกับชื่อคลาสเดียวกันกับที่ประกาศในอีกชื่อหนึ่ง
กำหนดแพ็คเกจเป็น −
package package_name;
จำกัดการเข้าถึงของคลาส (หรือสมาชิกคลาส) ให้กับคลาสภายในแพ็คเกจเดียวกัน แต่ใน C# ที่มีเนมสเปซ คุณไม่สามารถทำสิ่งนี้ได้
เนมสเปซใน C#
เนมสเปซได้รับการออกแบบมาเพื่อจัดเตรียมวิธีแยกชื่อชุดหนึ่งออกจากชุดอื่น ชื่อคลาสที่ประกาศในเนมสเปซหนึ่งไม่ขัดแย้งกับชื่อคลาสเดียวกันที่ประกาศในอีกชื่อหนึ่ง
กำหนดเนมสเปซเป็น −
namespace namespace_name { // code declarations }
ใน Java โครงสร้างไดเร็กทอรีควรตรงกับโครงสร้างแพ็กเกจ แต่ไม่จำเป็นใน C#
ใน C# ให้เพิ่มเนมสเปซหลายรายการในไฟล์เดียว ในขณะที่ใน Java ไฟล์นั้นเป็นของแพ็คเกจ