JavaRush /จาวาบล็อก /Random-TH /คอฟฟี่เบรค #145. 90 คำถามและคำตอบสัมภาษณ์ Java ที่พบบ่อย

คอฟฟี่เบรค #145. 90 คำถามและคำตอบสัมภาษณ์ Java ที่พบบ่อย

เผยแพร่ในกลุ่ม
ที่มา: Usemynotes เอกสารนี้ประกอบด้วยรายการคำถามที่มักพบในการสัมภาษณ์นักพัฒนา Java ระดับเริ่มต้นและระดับกลาง คอฟฟี่เบรค #145.  90 คำถามและคำตอบสัมภาษณ์ Java ที่พบบ่อย - 1

1. อะไรทำให้ Java เป็นภาษาที่เป็นอิสระจากแพลตฟอร์ม

Java เรียกว่าภาษาอิสระของแพลตฟอร์มเนื่องจากโค้ดไบต์ที่สร้างโดย JDK (Java Development Kit) สามารถดำเนินการได้โดย JVM (Java Virtual Machine) บนแพลตฟอร์มใดก็ได้ โดยไม่คำนึงถึงระบบปฏิบัติการ

2. เหตุใด Java จึงไม่ใช่ภาษาเชิงวัตถุโดยสมบูรณ์

Java ไม่ใช่ภาษาเชิงวัตถุโดยสมบูรณ์เนื่องจากใช้ประเภทข้อมูลพื้นฐานแปดประเภทที่ไม่ใช่วัตถุ: boolean , byte , char , int , float , double , longและshort

3. เหตุใดเมธอด main() จึงทำให้คงที่ใน Java?

เมธอดmain()ได้รับการประกาศแบบคงที่เพื่อให้สามารถเรียกได้โดยตรงจาก JVM โดยไม่ต้องสร้างอ็อบเจ็กต์หรืออินสแตนซ์ของคลาสที่ถูกประกาศ

4. คลาส wrapper ใน Java คืออะไร?

ใน Java ข้อมูลพื้นฐานทุกประเภทเช่นint , floatมีคลาสที่สอดคล้องกันที่เรียกว่าคลาส wrapper เรียกอีกอย่างว่า wrappers เนื่องจากมันตัดหรือแปลงชนิดข้อมูลดั้งเดิมเป็นอ็อบเจ็กต์

5. Constructor ใน Java คืออะไร?

ตัวสร้างใน Java เป็นวิธีการพิเศษที่จะถูกเรียกโดยอัตโนมัติเมื่อวัตถุหรืออินสแตนซ์ถูกสร้างขึ้น ชื่อตัวสร้างและคลาสต้องตรงกัน

6. อะไรคือความแตกต่างระหว่างอาร์เรย์และ ArrayList ใน Java?

อาร์เรย์ ArrayList
เป็นโครงสร้างข้อมูลแบบคงที่ ซึ่งหมายความว่ามีขนาดคงที่และไม่สามารถเปลี่ยนแปลงได้ เป็นความยาวผันแปรหรืออาร์เรย์ที่มีขนาดแบบไดนามิกในโครงสร้างคอลเลกชัน ซึ่งหมายความว่าขนาดสามารถเปลี่ยนแปลงได้ตามความต้องการ
พวกเขาสามารถจัดเก็บทั้งวัตถุและประเภทดั้งเดิม สามารถจัดเก็บหรือมีวัตถุได้เท่านั้น แต่ไม่สามารถเก็บประเภทดั้งเดิมได้
เราสามารถเข้าถึงองค์ประกอบได้โดยการระบุดัชนีในวงเล็บเหลี่ยม [ ] เราสามารถเข้าถึงองค์ประกอบได้โดยระบุหมายเลขดัชนีภายในเมธอดget()

7. ทำไม Java ไม่ใช้พอยน์เตอร์?

Java ไม่ใช้พอยน์เตอร์เนื่องจากไม่ปลอดภัย และยังเพิ่มความซับซ้อนให้กับโปรแกรมด้วย นอกจากนี้ Java ยังหลีกเลี่ยงพอยน์เตอร์เพื่อหลีกเลี่ยงการให้การเข้าถึงหน่วยความจำโดยตรงกับผู้ใช้

8. มีตัวดัดแปลงการเข้าถึงประเภทใดบ้างใน Java?

ใน Java ตัวดัดแปลงการเข้าถึงคือคีย์เวิร์ดที่ใช้เพื่อระบุการเข้าถึงคลาสและวิธีการภายนอกคลาสหรือในคลาสอื่น มีตัวดัดแปลงการเข้าถึงสี่ประเภทที่แตกต่างกันใน Java:
  • ค่าเริ่มต้น
  • สาธารณะ
  • ส่วนตัว
  • มีการป้องกัน

9. JIT ใน Java คืออะไร?

JIT เป็นตัวย่อสำหรับ Just-In-Time Compiler ในภาษา Java ขณะรันไทม์จะแปลงโค้ดไบต์เป็นโค้ดเครื่องเนทิฟ คอมไพเลอร์ JIT ช่วยปรับปรุงประสิทธิภาพของโปรแกรม Java

10. คีย์เวิร์ดสุดท้ายใน Java คืออะไร?

คำหลักสุดท้ายใน Java ใช้เพื่อแสดงค่าคงที่ สามารถใช้กับตัวแปร คลาส และเมธอดได้
  • หาก ใช้คีย์เวิร์ดสุดท้าย กับตัวแปร คุณจะเปลี่ยนค่าของคีย์นั้นไม่ได้
  • หาก ใช้คำสำคัญสุดท้าย กับเมธอด คุณจะไม่สามารถแทนที่เมธอดนั้นได้
  • หากคุณประกาศคลาสFinalคลาสนั้นจะไม่สามารถขยายหรือสืบทอดโดยคลาสย่อยได้

11. แนวคิดพื้นฐานของ OOP หรือการเขียนโปรแกรมเชิงวัตถุใน Java คืออะไร?

การเขียนโปรแกรมเชิงวัตถุหรือ OOP ใน Java ใช้ 4 แนวคิดหลัก:
  • การห่อหุ้ม
  • นามธรรม
  • มรดก
  • ความแตกต่าง

12. คลาสซิงเกิลตันใน Java คืออะไร และจะทำให้คลาสเป็นซิงเกิลตันได้อย่างไร?

ใน Java คลาสซิงเกิลตันคือคลาสที่มีอินสแตนซ์หรืออ็อบเจ็กต์เดียวเท่านั้น ด้วยการสร้างคอนสตรัคเตอร์ส่วนตัว เราสามารถสร้างคลาสเดี่ยวได้

13. อะไรคือความแตกต่างระหว่างตัวแปรท้องถิ่นและตัวแปรอินสแตนซ์ใน Java?

ตัวแปรท้องถิ่นถูกกำหนดไว้ภายในบล็อกหรือวิธีการ ขอบเขตของตัวแปรท้องถิ่นอยู่ภายในบล็อกเท่านั้น ตัวแปรอินสแตนซ์ของคลาสคือตัวแปรที่ถูกกำหนดไว้ภายในคลาสแต่อยู่ภายนอกวิธีการ เข้าถึงได้โดยการสร้างอ็อบเจ็กต์ของคลาส และจะสิ้นสุดลงเมื่ออ็อบเจ็กต์ถูกลบ

14. OOP หรือการเขียนโปรแกรมเชิงวัตถุคืออะไร?

การเขียนโปรแกรมเชิงวัตถุหรือ OOP เป็นกระบวนทัศน์การเขียนโปรแกรมที่ใช้ในการพัฒนาโปรแกรมหรือแอปพลิเคชันโดยใช้แนวคิดของวัตถุ

15. อะไรทำให้สตริง Java ไม่เปลี่ยนรูป?

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

16. อธิบายความแตกต่างระหว่างอินเตอร์เฟสและคลาสนามธรรมใน Java

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

17. ความหลากหลายหมายถึงอะไร และประเภทของความหลากหลายนั้นคืออะไร?

Polymorphism ใน Java คือความสามารถของอ็อบเจ็กต์ที่มีมากกว่าหนึ่งรูปแบบ นอกจากนี้ยังสามารถกำหนดเป็นงานหรือกิจกรรมเดียวที่สามารถทำได้สำเร็จในรูปแบบต่างๆ Polymorphism แบ่งออกเป็นสองประเภท:
  1. พหุสัณฐานเวลาคอมไพล์
  2. ความหลากหลายแบบรันไทม์

18. Java บรรลุถึงความแตกต่างระหว่างเวลาคอมไพล์และรันไทม์ได้อย่างไร?

ใน Java ความหลากหลายทางเวลาคอมไพล์ทำได้โดยการโอเวอร์โหลดเมธอด ในขณะที่ความหลากหลายทางรันไทม์ทำได้โดยการเอาชนะเมธอด

19. สิ่งที่เป็นนามธรรมหมายถึงอะไร และมันประสบความสำเร็จใน Java ได้อย่างไร?

นามธรรมคือการแสดงข้อมูลที่สำคัญโดยไม่แสดงรายละเอียดภายในหรือการใช้งาน ใน Java สิ่งนี้สามารถทำได้โดยการใช้คลาสนามธรรมและอินเทอร์เฟซ

20. อินเทอร์เฟซใน Java คืออะไร?

อินเทอร์เฟซใน Java เป็นชุดของวิธีการเชิงนามธรรมที่มีเพียงการประกาศฟังก์ชัน แต่ไม่มีการใช้งาน เราไม่สามารถสร้างวัตถุหรืออินสแตนซ์ของอินเทอร์เฟซได้ อินเทอร์เฟซไม่สามารถมีตัวสร้างได้ คลาสสามารถใช้หลายอินเทอร์เฟซได้โดยใช้คีย์เวิร์ด Implements ใน Java

21. Java มีมรดกประเภทใดบ้าง?

ใน Java เราใช้คีย์เวิร์ดขยายเพื่อสืบทอดคุณลักษณะและวิธีการของคลาสซุปเปอร์หรือคลาสพื้นฐาน มรดกมีห้าประเภท:
  1. มรดกเดี่ยว
  2. มรดกหลายระดับ
  3. มรดกแบบลำดับชั้น
  4. การสืบทอดหลายรายการผ่านอินเทอร์เฟซ
  5. มรดกไฮบริด

22. เหตุใด Java จึงไม่รองรับการสืบทอดหลายรายการ

Java ไม่รองรับการสืบทอดหลายรายการเพื่อป้องกันความคลุมเครือ ตัวอย่างเช่น สมมติว่ามีซูเปอร์คลาส A และ B สองตัว และคลาสย่อย C ที่สืบทอดทั้ง A และ B ทั้งคลาส A และ B มีเมธอด show ( ) หากเราเรียกเมธอดshow()โดยการสร้างอ็อบเจ็กต์ของคลาส C คอมไพเลอร์จะส่งข้อผิดพลาดออกมา เนื่องจากไม่ชัดเจนว่าคลาสใดของเมธอดshow()ที่ควรถูกดำเนินการ

23. อะไรคือความแตกต่างระหว่างการโอเวอร์โหลดวิธีการและการเอาชนะวิธีการ?

วิธีการโอเวอร์โหลด วิธีการเอาชนะ
พหุสัณฐานเวลาคอมไพล์ ความหลากหลายแบบรันไทม์
วิธีการตั้งแต่ 2 วิธีขึ้นไปในคลาสเดียวกันที่มีฟังก์ชันหรือชื่อวิธีการเดียวกัน แต่มีลายเซ็นต่างกัน วิธีการตั้งแต่สองวิธีขึ้นไปที่มีฟังก์ชันหรือชื่อวิธีการเดียวกันและลายเซ็นในคลาสที่ต่างกัน

24. เป็นไปได้ไหมที่จะแทนที่วิธีแบบคงที่หรือแบบส่วนตัวใน Java?

วิธีการส่วนตัวไม่สามารถเข้าถึงได้ภายนอกชั้นเรียน ดังนั้นมันจะไม่ถูกแทนที่โดยคลาสย่อย ดังนั้นจึงไม่สามารถแทนที่ได้ ในทำนองเดียวกัน วิธีการแบบคงที่ไม่สามารถเขียนทับได้ เนื่องจากถ้าเราสร้างวิธีการแบบคงที่ด้วยชื่อวิธีการและลายเซ็นเดียวกันทั้งในคลาสพื้นฐานและคลาสที่ได้รับ คลาสที่ได้รับจะซ่อนวิธีการในคลาสฐาน สิ่งนี้เรียกว่าการซ่อนวิธีการ

25. Constructor โอเวอร์โหลดใน Java คืออะไร?

ใน Java ตัวสร้างจะถือว่าโอเวอร์โหลดหากคลาสมีตัวสร้างมากกว่าหนึ่งตัว แต่มีรายการพารามิเตอร์ที่แตกต่างกัน

26. เราสามารถกำหนดคลาส Abstract แม้ว่ามันจะไม่มีวิธี abstract ได้หรือไม่?

ใช่ เราสามารถสร้างคลาสนามธรรมได้แม้ว่าจะไม่มีวิธีนามธรรมก็ตาม อย่างไรก็ตาม หากคลาสมีวิธีนามธรรมอย่างน้อยหนึ่งวิธี จะต้องกำหนดให้เป็นนามธรรม มิฉะนั้นจะเกิดข้อผิดพลาด

27. การใช้ตัวแปรและวิธีการคงที่คืออะไร?

เราใช้สมาชิกแบบสแตติก (เมธอดและตัวแปร) เมื่อเราต้องการใช้เมธอดหรือตัวแปรทั่วไปสำหรับอ็อบเจ็กต์ทั้งหมดของคลาส แทนที่จะสร้างสำเนาหลายชุดของแต่ละอ็อบเจ็กต์ ตัวอย่างเช่น ในคลาส Employee ชื่อบริษัทสามารถกำหนดให้เป็นแบบคงที่ได้ เนื่องจากออบเจ็กต์ทั้งหมดจะมีชื่อบริษัทเดียวกัน

28. มี Constructor กี่ประเภทใน Java?

Constructor ใน Java มี 2 ประเภท:
  1. ตัวสร้างเริ่มต้นไม่ยอมรับพารามิเตอร์ใดๆ
  2. ตัวสร้างพารามิเตอร์ - รับอย่างน้อยหนึ่งพารามิเตอร์

29. Java ใช้ตัวสร้างการคัดลอกหรือไม่?

ไม่ Java ไม่มีตัวสร้างการคัดลอกเช่น C++

30. ระบุความแตกต่างระหว่าง Constructor และ Method ใน Java

ตัวสร้าง วิธี
จำเป็นต้องมีชื่อ Constructor และชื่อคลาสให้ตรงกัน ชื่อเมธอดอาจจะเหมือนหรืออาจจะไม่เหมือนกับชื่อคลาสก็ได้
ไม่สามารถมีประเภทการส่งคืนได้ จำเป็นต้องมีประเภทการคืนสินค้า
ตัวสร้างไม่สามารถคงที่ได้ วิธีการนี้อาจหรืออาจจะไม่คงที่ก็ได้
มันถูกเรียกใช้หรือเรียกโดยอัตโนมัติเมื่อมีการสร้างวัตถุหรืออินสแตนซ์ของคลาส มันถูกเรียกใช้หรือนำไปใช้โดยใช้ชื่อของวัตถุพร้อมกับจุด (.)
มันถูกใช้เพื่อเริ่มต้นสถานะของวัตถุ มันถูกใช้เพื่อกำหนดพฤติกรรมของวัตถุ

31. เป็นไปได้ไหมที่จะรันโปรแกรมโดยไม่ใช้เมธอด main()?

ไม่ได้ โปรแกรมไม่สามารถดำเนินการได้หากไม่มี เมธอด main()ใน Java เนื่องจากการรันโปรแกรมเริ่มต้นจากเมธอด main()

32. คำสำคัญนี้หมายถึงอะไรในภาษา Java?

คีย์เวิร์ดนี้ใน Java เป็นตัวแปรอ้างอิงที่ใช้เพื่ออ้างถึงอ็อบเจ็กต์ปัจจุบันที่เรียกใช้เมธอดหรือตัวแปร

33. เป็นไปได้ไหมที่จะใช้คำสำคัญนี้ใน Java เพื่ออ้างถึงสมาชิกแบบคงที่?

ใช่ เนื่องจากเป็นตัวแปรอ้างอิงสำหรับออบเจ็กต์ปัจจุบัน เราจึงสามารถใช้คีย์เวิร์ดนี้เพื่ออ้างถึงสมาชิกแบบคงที่

34. เราสามารถสร้างเมธอด main() ใน Java ให้เป็นส่วนตัวแทนที่จะเป็นแบบสาธารณะได้หรือไม่?

เราสามารถสร้าง เมธอด main()ให้เป็นส่วนตัวได้ แต่จากนั้นเราจะได้รับข้อผิดพลาดรันไทม์และด้วยเหตุนี้โปรแกรมจะไม่ทำงาน

35. super คีย์เวิร์ดในภาษา Java หมายถึงอะไร?

ใน Java คีย์เวิร์ด super คือตัวแปรอ้างอิงที่ใช้เพื่ออ้างถึงอ็อบเจ็กต์ของคลาสพาเรนต์ในทันที

36. ระบุความแตกต่างระหว่างเวกเตอร์และอาร์เรย์

เวกเตอร์ อาร์เรย์
นี่คืออาร์เรย์ที่มีขนาดไดนามิก เป็นโครงสร้างข้อมูลขนาดคงที่
เวกเตอร์ถูกซิงโครไนซ์ อาร์เรย์ไม่ได้รับการซิงโครไนซ์
มันช้ากว่าเมื่อเทียบกับอาเรย์ มันเร็วกว่าเมื่อเทียบกับเวกเตอร์
สามารถมีหรือจัดเก็บอ็อบเจ็กต์ Java เท่านั้น มันถูกใช้เพื่อจัดเก็บทั้งประเภทดั้งเดิมและอ็อบเจ็กต์ Java
เราสามารถใช้ เมธอด size()เพื่อหาความยาวของเวกเตอร์ได้ เราสามารถใช้ คุณสมบัติ lengthเพื่อค้นหาความยาวของอาร์เรย์ได้

37. มัลติเธรดใน Java คืออะไร?

มัลติเธรดเป็นกระบวนการของการดำเนินการหลาย ๆ งานพร้อมกันภายในโปรแกรมเดียว สิ่งนี้ทำเพื่อให้ได้โหลดตัวประมวลผลสูงสุด

38. วิธีการใช้งานมัลติเธรดใน Java มีอะไรบ้าง?

มัลติเธรดใน Java สามารถใช้งานได้สองวิธี:
  1. โดยการใช้ อินเท อ ร์เฟซ Runnableในjava.lang.Runnable
  2. โดยการขยายคลาสThreadในjava.lang.Thread

39. ระบุความแตกต่างเล็กน้อยระหว่าง super และคีย์เวิร์ดนี้ใน Java

สุด ๆ นี้
ใช้เพื่ออ้างถึงวัตถุของคลาสแม่ ใช้เพื่ออ้างถึงวัตถุคลาสปัจจุบัน
ใช้เพื่อเข้าถึงเมธอดของพาเรนต์หรือคลาสพื้นฐาน ใช้เพื่อเข้าถึงวิธีการของคลาสปัจจุบัน
เรียกตัวสร้างเริ่มต้นของคลาสฐาน เรียกตัวสร้างเริ่มต้นของคลาสปัจจุบัน

40. อะไรคือความแตกต่างระหว่างคลาสย่อยและคลาสภายใน?

คลาสย่อย ชั้นใน
นี่คือคลาสที่สืบทอดคุณสมบัติและวิธีการของคลาสพื้นฐานหรือคลาสพาเรนต์ นี่คือคลาสที่ซ้อนกันภายในคลาสอื่น
สามารถเข้าถึงสมาชิกสาธารณะและสมาชิกที่ได้รับการคุ้มครองของซูเปอร์คลาสหรือคลาสพื้นฐานได้ สามารถเข้าถึงสมาชิกทั้งหมดของคลาสชั้นนอกได้

41. ​​คลาสโหลดเดอร์ใน Java คืออะไร?

Java Class Loader เป็นส่วนประกอบของ Java Runtime Environment หรือ JRE ที่ใช้ในการโหลดคลาส Java ลงใน Java Virtual Machine (JVM) ขณะรันไทม์

42. จำเป็นหรือไม่ที่ Try block จะต้องตามด้วยการจัดการข้อยกเว้นของ Java ใน Catch block?

ใช่ จำเป็นต้องใช้catch block เนื่องจากข้อยกเว้นใดๆ ที่เกิดจากtry blockจะต้องถูกจับในcatch block

43. ตั้งชื่อประเภทของข้อยกเว้นใน Java

ข้อยกเว้นใน Java มีสองประเภท:
  1. ข้อยกเว้นที่ไม่ได้ตรวจสอบ
  2. ตรวจสอบข้อยกเว้นแล้ว

44. สถานะของเธรดคืออะไร?

Java มีสถานะเธรด 4 สถานะ:
  1. สตรีมใหม่.
  2. รันได้
  3. ไม่สามารถรันได้
  4. ตายหรือยุติ

45. NullPointerException คืออะไร

เมื่อผู้ใช้พยายามเข้าถึงหรือเปลี่ยนค่าของวัตถุ null NullPointerExceptionจะถูกส่งออกไป

46. ​​​​คำหลักประเภทใดที่ใช้ในการจัดการข้อยกเว้นของ Java?

  1. พยายาม

  2. จับ

  3. ในที่สุด

  4. โยน

  5. พ่น

47. เป็นไปได้ไหมที่จะโอเวอร์โหลดเมธอด main() ใน Java?

ใช่ เมธอด main()สามารถโอเวอร์โหลดได้ แต่ JVM หรือ Java Virtual Machine เรียกเฉพาะเมธอดmain() ดั้งเดิม เท่านั้น

48. เป็นไปได้ไหมที่จะแทนที่เมธอด main() ใน Java?

ไม่ได้ เนื่องจาก เมธอด main()เป็นเมธอดแบบสแตติก และเมธอดแบบสแตติกไม่สามารถเขียนทับได้

49. อะไรคือความแตกต่างระหว่างเท่ากับ() และ == ?

ใน Java เท่ากับ()เป็นวิธีที่ใช้ในการเปรียบเทียบค่าของวัตถุหรือตัวแปรสองตัว ในขณะที่==เป็นตัวดำเนินการเปรียบเทียบที่ใช้ในการเปรียบเทียบที่อยู่หรือตำแหน่งหน่วยความจำของวัตถุหรือตัวแปรอีกสองตัว

50. ตัวสร้างคลาสสามารถคืนค่าใด ๆ ได้หรือไม่?

ไม่ Constructor ไม่มีประเภทการส่งคืน ดังนั้นจึงไม่สามารถคืนค่าใดๆ ได้

51. กำหนดการรวมกลุ่ม

การรวมกลุ่มเป็นรูปแบบหนึ่งของการเชื่อมโยงที่กำหนดให้เป็นความสัมพันธ์แบบมี-ความสัมพันธ์ระหว่างสองคลาส การดำเนินการนี้เสร็จสิ้นเพื่อนำโค้ดกลับมาใช้ใหม่ นี่เป็นความสัมพันธ์ทางเดียวหรือทิศทางเดียวระหว่างสองคลาส

52. สมาคมคืออะไร?

การเชื่อมโยงกำหนดความสัมพันธ์ระหว่างสองคลาสโดยใช้วัตถุ ความสัมพันธ์หรือการเชื่อมโยงอาจเป็นแบบหนึ่งต่อหนึ่ง หนึ่งต่อกลุ่ม หลายต่อกลุ่ม หรือหลายต่อหนึ่ง การรวมตัวและองค์ประกอบเป็นรูปแบบการเชื่อมโยงสองรูปแบบ

53. องค์ประกอบคืออะไร?

องค์ประกอบเป็นรูปแบบหนึ่งของการเชื่อมโยงซึ่งสองคลาสต้องพึ่งพาซึ่งกันและกัน

54. อะไรคือความแตกต่างระหว่างการเชื่อมโยงแบบไดนามิกและแบบคงที่?

ด้วยการผูกแบบไดนามิก การตัดสินใจผูกวิธีการกับอ็อบเจ็กต์จะเกิดขึ้นในขณะดำเนินการ การเชื่อมโยงล่าช้าเป็นอีกชื่อหนึ่งของการเชื่อมโยงแบบไดนามิก ด้วยการผูกแบบคงที่ การตัดสินใจผูกวิธีการกับอ็อบเจ็กต์จะเกิดขึ้นในเวลาคอมไพล์ การผูกแบบคงที่เป็นอีกชื่อหนึ่งสำหรับการผูกล่วงหน้า

55. ระบุความแตกต่างระหว่างการห่อหุ้มและนามธรรม

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

56. คลาสนามธรรมใน Java คืออะไร?

คลาสนามธรรมเป็นคลาสที่ไม่สามารถสร้างอินสแตนซ์ได้ แต่เราสามารถสร้างตัวแปรอ้างอิงได้ คลาสถูกประกาศเป็นนามธรรมโดยใช้คีย์เวิร์ด abstract มันมีทั้งวิธีนามธรรมและไม่ใช่นามธรรม

57. เราสามารถใช้ทั้งคำสำคัญสุดท้ายและคำสำคัญในวิธีการได้หรือไม่?

ไม่ได้ เราไม่สามารถใช้ วิธีการ สุดท้ายและแบบคงที่ร่วมกับนามธรรมได้เนื่องจากวิธีการนามธรรมจะต้องถูกแทนที่โดยคลาสย่อย และ วิธีการ สุดท้ายไม่สามารถถูกแทนที่ได้

58. เราสามารถประกาศวิธีการเป็นขั้นตอนสุดท้ายในอินเทอร์เฟซได้หรือไม่?

ไม่ เราไม่สามารถประกาศวิธีการเป็นขั้นสุดท้ายได้เนื่องจากวิธีการทั้งหมดในอินเทอร์เฟซเป็นแบบนามธรรม ดังนั้นจึงต้องปรับใช้โดยคลาสย่อย และ วิธีการ สุดท้ายไม่สามารถแทนที่ได้

59. ตั้งชื่อคลาสพื้นฐานของคลาสยกเว้น Java ทั้งหมด

คลาสพื้นฐานสำหรับข้อยกเว้นทั้งหมดคือ java.lang.Throwable

60. เป็นไปได้ไหมที่จะสร้าง catch block หลายอันใน try block ครั้งเดียว?

ใช่ เราสามารถสร้าง catch block ได้หลายบล็อกสำหรับtry block หนึ่ง ครั้ง

61. กำหนดตัวแปรสภาพแวดล้อมสองตัวที่ต้องระบุเพื่อรันโปรแกรม Java ใด ๆ

  1. ตัวแปรเส้นทาง
  2. ตัวแปรคลาสพาธ

62. เป็นไปได้ไหมที่จะใช้ destructor ใน Java?

ไม่ เราไม่สามารถใช้ destructors ใน Java ได้

63. ชั้นเรียนที่ไม่เปิดเผยตัวตนคุณหมายถึงอะไร?

คลาสภายในที่ไม่ระบุชื่อใน Java ไม่มีชื่อและสร้างวัตถุเพียงอันเดียว

64. ตั้งชื่อวิธีการ Java ที่ต้องนำไปใช้กับเธรดทั้งหมด

วิธีการ เรียก ใช้ ()

65. อะไรคือความแตกต่างระหว่างการหยุดและดำเนินการต่อใน Java?

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

66. String Pools ใน Java คืออะไร?

สตริงพูลใน Java คือชุดของสตริงที่จัดเก็บไว้ในหน่วยความจำฮีป

67. อะไรคือความแตกต่างระหว่างคำหลัก Throw และ Throws ใน Java?

โยน ขว้าง
ใช้เพื่อระบุข้อยกเว้นอย่างชัดเจน ใช้เพื่อประกาศข้อยกเว้นที่เมธอดสามารถส่งออกได้ขณะรันไทม์
ใช้ภายในเนื้อหาของวิธีการ การใช้ คีย์เวิร์ดThrowsทำให้เราสามารถประกาศข้อยกเว้นได้หลายรายการ
Throwตามด้วย อิน ส แตนซ์ของ คลาสException ตามด้วยชื่อของ คลาส ข้อยกเว้นที่จะถูกส่งออกไป

68. เป็นไปได้ไหมที่จะเรียกคอนสตรัคเตอร์ภายในคอนสตรัคเตอร์อื่นในคลาสเดียวกัน?

ใช่ เราสามารถเรียก Constructor ของคลาสเดียวกันภายใน Constructor อื่นได้โดยใช้this()เป็นบรรทัดแรก

69. เป็นไปได้ไหมที่จะเปรียบเทียบคลาส String Buffer และ String ใน Java?

ไม่ เราไม่สามารถเปรียบเทียบString BufferและString object ได้ เพราะเราจะได้รับข้อผิดพลาด

70. ตัวสร้างถูกเรียกในลำดับใดในระหว่างการสืบทอด?

ตัวสร้างของคลาสหลักหรือคลาสพื้นฐานจะถูกเรียกก่อน จากนั้นจึงเรียกตัวสร้างของคลาสที่ได้รับ

71. เราสามารถตั้งชื่อ Constructor อื่นนอกเหนือจากชื่อคลาสได้หรือไม่?

ไม่ ตัวสร้างและชื่อคลาสจะต้องเหมือนกัน

72. แพ็คเกจ Java คืออะไร?

แพ็คเกจคือชุดของคลาสและอินเทอร์เฟซที่จัดกลุ่ม

73. อะไรคือความแตกต่างระหว่างคลาส String และ StringBuffer?

สตริง StringBuffer
คลาสStringจะไม่เปลี่ยนรูป คลาสStringBufferไม่สามารถเปลี่ยนแปลงได้
ช้ากว่าStringBuffer เร็วกว่าสตริง
มันใช้หน่วยความจำมากขึ้นเมื่อเชื่อมต่อสตริงจำนวนมาก ใช้หน่วยความจำน้อยลงเมื่อเชื่อมต่อสตริงจำนวนมาก

74. เป็นไปได้ไหมที่จะโอเวอร์โหลดวิธีการคงที่ใน Java?

ใช่ เราสามารถโอเวอร์โหลดวิธีการคงที่ใน Java ได้โดยการส่งลายเซ็นฟังก์ชันต่างๆ

75.ส่วนประกอบใดของหน่วยความจำ สแตกหรือฮีป ที่ถูกล้างระหว่างการรวบรวมขยะ

กอง.

76.คลาสสตริงใดต่อไปนี้ควรใช้เมื่อจำเป็นต้องอัปเดตข้อมูลบ่อยๆ

ควรใช้ คลาสStringBuffer ในกรณีที่มีการอัปเดตบ่อยครั้ง เนื่องจากคลาสดังกล่าวไม่แน่นอน และด้วยเหตุนี้ พูลสตริงจะไม่โอเวอร์โหลด

77. จะเกิดอะไรขึ้นถ้าสแตติกคีย์เวิร์ดไม่ได้ใช้กับเมธอด main() ใน Java?

จะไม่มีข้อผิดพลาดในการคอมไพล์ แต่ ณ รันไทม์เราจะได้รับข้อ ผิดพลาด NoSuchMethodError

78. ในที่สุดบล็อกจะถูกดำเนินการหรือไม่หากคำสั่ง return ถูกวางไว้ที่ส่วนท้ายของบล็อก try and catch?

ใช่ บล็อก สุดท้ายจะดำเนินการเสมอไม่ว่าจะมีข้อยกเว้นหรือไม่

79. เป็นไปได้ไหมที่จะมีคลาสสาธารณะจำนวนมากในซอร์สไฟล์ Java?

ไม่ เราสามารถมีคลาสสาธารณะได้เพียงคลาสเดียวในซอร์สไฟล์ Java

80. อินเทอร์เฟซสามารถขยายอินเทอร์เฟซอื่นได้หรือไม่?

ใช่ อินเทอร์เฟซหนึ่งสามารถขยายอินเทอร์เฟซอื่นได้โดยใช้คีย์เวิร์ดขยายใน Java

81. ตั้งชื่อคลาสโหลดเดอร์ประเภทต่างๆ ใน ​​Java

  1. Bootstrap ClassLoader

  2. ส่วนขยาย ClassLoader

  3. ระบบคลาสโหลดเดอร์

82. ตัวดำเนินการแบบไตรภาคทำอะไรใน Java?

ตัวดำเนินการแบบไตรภาคถูกใช้แทน ตัวดำเนินการ if-elseใน Java นี่เป็นตัวดำเนินการแบบมีเงื่อนไขเดียวที่มีตัวถูกดำเนินการสามตัว

83. การรวบรวมขยะทำอะไรใน Java?

การรวบรวมขยะ Java เป็นวิธีการที่แอปพลิเคชัน Java อนุรักษ์หน่วยความจำโดยอัตโนมัติโดยการลบหรือล้างวัตถุและแพ็คเกจที่ไม่ได้ใช้ในหน่วยความจำ

84. Constructor เริ่มต้นใช้ใน Java อย่างไร?

ใน Java ตัวสร้างเริ่มต้นใช้เพื่อเริ่มต้นสมาชิกข้อมูลหรือตัวแปรสมาชิกของวัตถุด้วยค่าเริ่มต้น มันถูกสร้างขึ้นโดยอัตโนมัติโดยคอมไพเลอร์เมื่อไม่มีตัวสร้างอื่นในโปรแกรม

85. อะไรคือความแตกต่างระหว่างพาธและคลาสพาธใน Java

  1. classpath กำหนดตำแหน่งของไฟล์ bytecode นั่นคือไฟล์ .class
  2. เส้นทางระบุตำแหน่งของไฟล์ .exe

86. Java มีประเภทข้อมูลอะไรบ้าง?

ข้อมูลใน Java มี 8 ประเภท:
  1. สั้น

  2. ไบต์

  3. ถ่าน

  4. ภายใน

  5. ลอย

  6. สองเท่า

  7. ยาว

  8. บูลีน

87. แนวคิดทั้งสี่ของ OOP ใน Java คืออะไร?

  1. การห่อหุ้ม
  2. นามธรรม
  3. ความแตกต่าง
  4. มรดก

88. เราสามารถกำหนดค่าว่างให้กับคีย์เวิร์ดนี้ใน Java ได้หรือไม่?

เลขที่

89. Static block ใน Java หมายความว่าอย่างไร?

บล็อกแบบคงที่ใน Java ใช้เพื่อเริ่มต้นตัวแปรแบบคงที่ของคลาส มันถูกดำเนินการเพียงครั้งเดียว: เมื่อคลาสถูกโหลดเข้าสู่หน่วยความจำครั้งแรก

90. มีข้อยกเว้นอะไรบ้าง? แพ็คเกจใดที่มีคำจำกัดความคลาสข้อยกเว้นทั้งหมดใน Java

ข้อยกเว้นคือสถานการณ์ที่ผิดปกติที่เกิดขึ้นระหว่างการทำงานของโปรแกรม สิ่งเหล่านี้อาจเกิดขึ้นได้เนื่องจากการป้อนข้อมูลของผู้ใช้ไม่ถูกต้องหรือตรรกะของการเข้ารหัสไม่ถูกต้อง แพ็คเกจjava.lang.Exceptionมีคำจำกัดความคลาสข้อยกเว้นทั้งหมดใน Java
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION