Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

คุณสมบัติของ C++ ที่ไม่มีใน Java

มีคุณสมบัติหลายอย่างที่พบใน C++ แต่ไม่มีใน Java นี่คือรายการสำคัญบางส่วน:

  • ไม่มีตัวเลือก unsigned int ใน Java - Java ไม่รองรับชนิดข้อมูลจำนวนเต็มที่ไม่มีเครื่องหมาย
  • ไม่มี destructor และคำสั่ง 'delete' - เนื่องจาก Garbage Collector ทำหน้าที่จัดการหน่วยความจำอัตโนมัติ
  • ไม่มี friend classes หรือ friend functions - Java ไรองรับการเข้าถึงสมาชิก private ระหว่างคลาสผ่าน friend
  • ไม่มี pointers - Java ใช้ reference แทน pointer โดยตรงเพื่อความปลอดภัย
  • ไม่มี typedef - Java ไม่มีกลไกสร้างชื่อสมแทนชนิดข้อมูล
  • ไม่มีตัวแปรหรือฟังก์ชัน global - Java เป็นภาษาเชิงวัตถุอย่างสมบูรณ์ ทุกอย่างต้องอยู่ในคลาส
  • ไม่มี templates - Java ใช้ Generics แทน ซึ่งแตกต่างจาก templates ของ C++ ในรูปแบบการทำงาน
  • ไม่มี scope resolution operator '::' - เนื่องจากไม่มีตัวแปรหรือฟังก์ชัน global
  • ไม่มี multiple inheritance - Java รองรับเฉพาะ multi-level inheritance และ interface เพื่อหลีกเลี่ยงปัญหา diamond problem
  • ไม่มี operator overloading - Java ไม่อนุญาตให้นิยามการทำงานของ operator ใหม่
  • ไม่มี default arguments - ต้องใช้ method overloading แทน
  • ไม่มี inline functions - Java ไม่มีคีย์เวิร์ด inline การเพิ่มประสิทธิภาพทิ้งให้ JIT compiler จัดการ
  • ไม่มี preprocessors และ macros - Java ไม่มีขั้นตอนการประมวลผลก่อนคอมไพล์
  • ไม่มี sizeof operator - ขนาดชนิดข้อมูล primitive ใน Java ถูกกำหนดไว้ล่วงหน้าและคงที่

ความแตกต่างเหล่านี้สะท้อนแนวคิดการออกแบบของ Java ที่เน้นความปลอดภัย ความเคลื่อนย้าย และความเรียบง่าย แทนที่จะให้การควบคุมระดับต่ำอย่างเต็มที่เหมือน C++