ฉันกำลังอ่าน Effective Java
โดย Joshua Bloch และฉันมีคำถามเกี่ยวกับ Item1 Static Factory Method
ข้อความอ้างอิง[Bloch, p.7]
อินเทอร์เฟซไม่มีวิธีการแบบคงที่ ดังนั้นตามแบบแผน วิธีการแบบคงที่ของโรงงานสำหรับอินเทอร์เฟซที่ชื่อ Type จะถูกใส่ไว้ในคลาสที่ไม่สามารถสร้างอินสแตนซ์ได้ชื่อ Types ตัวอย่างเช่น Java Collections Framework จัดเตรียมคอลเลกชันที่ไม่สามารถแก้ไขได้ คอลเลกชันที่ซิงโครไนซ์ และอื่นๆ ที่คล้ายคลึงกัน การใช้งานเกือบทั้งหมดเหล่านี้จะถูกส่งออกผ่านวิธีการแบบคงที่ของโรงงานในคลาสที่ไม่สามารถอินสแตนซ์เดียว (java.util.Collections) คลาสของวัตถุที่ส่งคืนทั้งหมดนั้นไม่ใช่แบบสาธารณะ
ตกลง. เมื่อดูซอร์สโค้ด ฉันเห็นอินเทอร์เฟซ java.util.Collection
และคลาส java.util.Collections
พร้อมตัวสร้างส่วนตัว (คลาสที่ไม่สามารถเริ่มต้นได้) และฉันเห็นว่าคอลเลกชันคลาสที่ไม่สามารถเริ่มต้นได้มีวิธีการแบบคงที่ทั้งหมด เหมือนกับที่โบลชพูด แต่ฉันไม่เห็นความเชื่อมโยงระหว่างทั้งสองคลาสดังที่ Bloch พูด
อินเทอร์เฟซไม่สามารถมีวิธีการแบบคงที่ ดังนั้นตามแบบแผน วิธีการแบบคงที่จากโรงงานสำหรับอินเทอร์เฟซที่ชื่อ Type จะถูกใส่ไว้ในคลาสที่ไม่สามารถสร้างอินสแตนซ์ได้ซึ่งมีชื่อว่า Types
ใครสามารถชี้ให้เห็นชัดเจนให้ฉัน?
เมื่อเขาพูดหมายความว่าอย่างไร
คลาสของออบเจ็กต์ที่ส่งคืนทั้งหมดไม่ใช่แบบสาธารณะ
นี่คือที่ที่ฉันได้รับแหล่งที่มาของจาวา: http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/Collection.java?av=f