100 + Java คำถามและคำตอบในการสัมภาษณ์ (2025)

ที่นี่มี Java คำถามและคำตอบในการสัมภาษณ์สำหรับผู้สมัครใหม่และมีประสบการณ์เพื่อให้ได้งานในฝัน

 

Java การเขียนโปรแกรมคำถามและคำตอบสัมภาษณ์สำหรับนักศึกษาใหม่

1) อะไรคือความแตกต่างระหว่าง Inner Class และ Sub-Class?

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

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

👉 ดาวน์โหลด PDF ฟรี: Java คำถามและคำตอบสัมภาษณ์สัมภาษณ์ >>


2) ตัวระบุการเข้าถึงต่างๆ มีไว้เพื่ออะไร Java ชั้นเรียน?

In Javaตัวระบุการเข้าถึงคือคีย์เวิร์ดที่ใช้หน้าชื่อคลาสซึ่งกำหนดขอบเขตการเข้าถึง ประเภทของตัวระบุการเข้าถึงสำหรับคลาสคือ:

1) สาธารณะ: คลาส วิธีการ ฟิลด์ สามารถเข้าถึงได้จากทุกที่

2) ได้รับการคุ้มครอง: Method,Field สามารถเข้าถึงได้จากคลาสเดียวกันกับที่คลาสนั้นอยู่หรือจากคลาสย่อย และจากคลาสของแพ็คเกจเดียวกัน แต่ไม่ใช่จากภายนอก

3) ค่าเริ่มต้น: Method,Field,class สามารถเข้าถึงได้จากแพ็คเกจเดียวกันเท่านั้น และไม่ใช่จากภายนอกแพ็คเกจดั้งเดิม

4) ส่วนตัว: Method,Field สามารถเข้าถึงได้จากคลาสเดียวกันกับที่คลาสนั้นอยู่


3) วัตถุประสงค์ของวิธีคงที่และตัวแปรคงที่คืออะไร?

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


4) การห่อหุ้มข้อมูลคืออะไร และมีความสำคัญอย่างไร

การห่อหุ้มเป็นแนวคิดในการเขียนโปรแกรมเชิงวัตถุสำหรับการรวมคุณสมบัติและวิธีการไว้ในหน่วยเดียว

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


5) คลาสซิงเกิลตันคืออะไร? ยกตัวอย่างการใช้งานจริง

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

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


6) Loop คืออะไร Java- ลูปสามประเภทคืออะไร?

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

1) สำหรับลูป

For loops ถูกใช้ใน java เพื่อรันคำสั่งซ้ำๆ ตามจำนวนครั้งที่กำหนด For loops ถูกใช้เมื่อโปรแกรมเมอร์ทราบจำนวนครั้งในการดำเนินการคำสั่ง

2) ในขณะที่วนซ้ำ

While loop ถูกใช้เมื่อจำเป็นต้องดำเนินการคำสั่งบางคำสั่งซ้ำๆ จนกว่าจะตรงตามเงื่อนไข ในขณะที่ลูป เงื่อนไขจะถูกตรวจสอบก่อนที่จะดำเนินการคำสั่ง

3) ทำในขณะที่วนซ้ำ

Do While Loop เหมือนกับ While loop โดยมีความแตกต่างเพียงอย่างเดียวคือการตรวจสอบเงื่อนไขหลังจากดำเนินการบล็อกคำสั่ง ดังนั้นในกรณีของ do while loop คำสั่งจะถูกดำเนินการอย่างน้อยหนึ่งครั้ง


7) วงอนันต์คืออะไร? มีการประกาศวงอนันต์อย่างไร?

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

วงอนันต์มีการประกาศดังต่อไปนี้:

for (;;)
{
    // Statements to execute

    // Add any loop breaking logic
}

8) คำสั่ง Continue และ Break แตกต่างกันอย่างไร?

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

ในตัวอย่างด้านล่าง ลูปจะใช้งานไม่ได้เมื่อตัวนับถึง 4

for (counter = 0; counter & lt; 10; counter++)
    system.out.println(counter);

if (counter == 4) {

    break;
}

}

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

for (counter = 0; counter < 10; counter++)
    system.out.println(counter);

if (counter == 4) {

    continue;
}
system.out.println("This will not get printed when counter is 4");
}

9) ความแตกต่างระหว่างตัวแปร double และ float คืออะไร Java?

ในจาวา float ใช้เวลา 4 ไบต์ในหน่วยความจำ Double ใช้เวลา 8 ไบต์ในหน่วยความจำ ทศนิยมเป็นเลขทศนิยมจุดลอยตัวที่มีความแม่นยำเดียวในขณะที่ Double เป็นเลขทศนิยมความแม่นยำสองระดับ


10) Final Keyword คืออะไร Java- ยกตัวอย่าง.

ใน Java ค่าคงที่จะถูกประกาศโดยใช้คีย์เวิร์ด Final สามารถกำหนดค่าได้เพียงครั้งเดียว และหลังจากกำหนดแล้ว ค่าคงที่จะไม่สามารถเปลี่ยนแปลงได้

ในตัวอย่างด้านล่าง มีการประกาศค่าคงที่ชื่อ const_val และกำหนดค่า:

ส่วนตัวสุดท้าย int const_val=100

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

เมื่อประกาศคลาสเป็นแบบ final คลาสนั้นจะไม่สามารถแบ่งย่อยได้ ตัวอย่างเช่น คลาส String, Integer และคลาส wrapper อื่นๆ


11) ตัวดำเนินการเทอร์นารีคืออะไร ยกตัวอย่าง

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

ในตัวอย่างด้านล่าง หากอันดับเป็น 1 สถานะจะถูกกำหนดค่าเป็น "เสร็จสิ้น" มิฉะนั้นจะเป็น "รอดำเนินการ"

public class conditionTest {
    public static void main(String args[]) {
        String status;
        int rank = 3;
        status = (rank == 1) ? "Done" : "Pending";
        System.out.println(status);
    }
}

12) คุณสามารถสร้างตัวเลขสุ่มได้อย่างไร Java?

  • การใช้ Math.random() ช่วยให้คุณสร้างตัวเลขสุ่มในช่วงที่มากกว่าหรือเท่ากับ 0.1 และน้อยกว่า 1.0 ได้
  • การใช้คลาส Random ในแพ็คเกจ java.util

13) เคสสวิตช์เริ่มต้นคืออะไร? ยกตัวอย่าง.

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

ในตัวอย่างด้านล่าง เมื่อคะแนนไม่ใช่ 1 หรือ 2 จะใช้ตัวพิมพ์เริ่มต้น

public class SwitchExample {
    public static void main(String args[]) {
        int score = 4; // Declare the score variable inside the main method
        switch (score) {
            case 1:
                System.out.println("Score is 1");
                break;
            case 2:
                System.out.println("Score is 2");
                break;
            default:
                System.out.println("Default Case");
        }
    }
}

14) คลาสพื้นฐานอยู่ในคลาสอะไร Java คลาสทั้งหมดได้มาจากคลาสใด?

java.lang.object


15) สามารถ main() วิธีการใน Java สามารถส่งคืนข้อมูลใด ๆ ได้หรือไม่?

ใน java เมธอด main() ไม่สามารถส่งคืนข้อมูลใดๆ ได้ ดังนั้นจึงต้องประกาศด้วยประเภทการส่งคืนเป็นโมฆะเสมอ


16) คืออะไร Java แพ็คเกจ? ความสำคัญของแพ็คเกจคืออะไร?

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


17) เราสามารถประกาศคลาสเป็น Abstract โดยไม่ต้องใช้วิธี abstract ได้หรือไม่?

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


18) อะไรคือความแตกต่างระหว่าง Abstract Class และ Interface in Java?

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

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

คลาสสามารถใช้หลายอินเทอร์เฟซได้ แต่สามารถขยายคลาสนามธรรมได้เพียงคลาสเดียวเท่านั้น


19) อะไรคือผลกระทบของประสิทธิภาพของอินเทอร์เฟซเหนือคลาสนามธรรม?

อินเทอร์เฟซมีประสิทธิภาพช้ากว่าเมื่อเปรียบเทียบกับคลาสนามธรรมเนื่องจากจำเป็นต้องมีทิศทางเพิ่มเติมสำหรับอินเทอร์เฟซ ปัจจัยสำคัญอีกประการหนึ่งที่นักพัฒนาต้องคำนึงถึงก็คือคลาสใดๆ ก็ตามสามารถขยายคลาสนามธรรมได้เพียงคลาสเดียวเท่านั้น ในขณะที่คลาสหนึ่งสามารถใช้อินเทอร์เฟซจำนวนมากได้

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


20) การนำเข้าแพ็คเกจจะนำเข้าแพ็คเกจย่อยด้วยหรือไม่ Java?

ใน Java เมื่อนำเข้าแพ็คเกจ แพ็คเกจย่อยจะไม่ถูกนำเข้า และนักพัฒนาจำเป็นต้องนำเข้าแยกต่างหากหากจำเป็น

ตัวอย่างเช่น หากนักพัฒนานำเข้าแพ็คเกจมหาวิทยาลัย* คลาสทั้งหมดในแพ็คเกจชื่อมหาวิทยาลัยจะถูกโหลด แต่ไม่มีคลาสจากแพ็คเกจย่อยถูกโหลด หากต้องการโหลดคลาสจากแพ็คเกจย่อย (เช่นแผนก) ผู้พัฒนาจะต้องนำเข้าคลาสอย่างชัดเจนดังนี้:

นำเข้ามหาวิทยาลัย.แผนก.*


21) เราสามารถประกาศวิธีการหลักของชั้นเรียนของเราเป็นแบบส่วนตัวได้หรือไม่?

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


22) เราจะส่งผ่านอาร์กิวเมนต์ไปยังฟังก์ชันโดยการอ้างอิงแทนที่จะส่งผ่านค่าได้อย่างไร

ในจาวา เราสามารถส่งผ่านอาร์กิวเมนต์ไปยังฟังก์ชันตามค่าเท่านั้น ไม่ใช่โดยการอ้างอิง


23) วัตถุถูกทำให้เป็นอนุกรมใน java อย่างไร?

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


24) เมื่อใดที่เราควรใช้การทำให้เป็นอนุกรม?

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


25) จำเป็นหรือไม่ที่ Try Block จะต้องตามด้วย Catch Block เข้ามา Java สำหรับการจัดการข้อยกเว้น?

ลองบล็อกต้องตามด้วย Catch block หรือ Last block หรือทั้งสองอย่าง ข้อยกเว้นใดๆ ที่เกิดจาก try block จะต้องถูกจับใน catch block หรืองานเฉพาะใดๆ ที่จะดำเนินการก่อนที่จะทำการยกเลิกโค้ดในบล็อก Final


Java คำถามและคำตอบในการสัมภาษณ์สำหรับผู้มีประสบการณ์

26) มีวิธีใดที่จะข้ามการบล็อกข้อยกเว้นในที่สุดแม้ว่าข้อยกเว้นบางอย่างจะเกิดขึ้นในบล็อกข้อยกเว้นหรือไม่?

หากมีข้อยกเว้นเกิดขึ้นในบล็อก Try การควบคุมจะผ่านไปยังบล็อก catch หากมีอยู่ มิฉะนั้นจะบล็อก finally บล็อก finally จะถูกดำเนินการเสมอเมื่อเกิดข้อยกเว้น และวิธีเดียวที่จะหลีกเลี่ยงการดำเนินการคำสั่งใดๆ ในบล็อก finally คือการหยุดโค้ดโดยเขียนโค้ดบรรทัดต่อไปนี้ที่ส่วนท้ายของบล็อก try:

System.exit(0);

27) เมื่อใดที่ Constructor ของคลาสถูกเรียกใช้?

ตัวสร้างของคลาสจะถูกเรียกใช้ทุกครั้งที่วัตถุถูกสร้างขึ้นด้วยคีย์เวิร์ดใหม่

ตัวอย่างเช่น ในคลาสต่อไปนี้ จะมีการสร้างวัตถุ 2 รายการโดยใช้คีย์เวิร์ด new ดังนั้นจะมีการเรียกใช้ constructor สองครั้ง

public class const_example {

    const_example() {

        system.out.println("Inside constructor");
    }
    public static void main(String args[]) {

        const_example c1 = new const_example();

        const_example c2 = new const_example();
    }
}

28) คลาสสามารถมีคอนสตรัคเตอร์หลายตัวได้หรือไม่?

ใช่ คลาสสามารถมีคอนสตรัคเตอร์หลายตัวที่มีพารามิเตอร์ต่างกันได้ Constructor ใดที่ใช้สำหรับการสร้างวัตถุขึ้นอยู่กับอาร์กิวเมนต์ที่ส่งผ่านขณะสร้างวัตถุ


29) เราสามารถแทนที่วิธีการคงที่ของคลาสได้หรือไม่?

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


30) ในตัวอย่างด้านล่าง ผลลัพธ์จะเป็นเท่าใด

public class superclass {

    public void displayResult() {

        system.out.println("Printing from superclass");

    }

}

public class subclass extends superclass {

    public void displayResult() {

        system.out.println("Displaying from subClass");

        super.displayResult();

    }

    public static void main(String args[]) {

        subclass obj = new subclass();

        obj.displayResult();

    }

}

Ans: ผลลัพธ์จะเป็น:

การแสดงจากคลาสย่อย

การพิมพ์จากซูเปอร์คลาส


31) String เป็นประเภทข้อมูลใน java หรือไม่

สตริงไม่ใช่ประเภทข้อมูลดั้งเดิมใน Java เมื่อสร้างสตริงใน Java จริงๆ แล้วเป็นอ็อบเจ็กต์ของ Javaคลาส .Lang.String ที่ถูกสร้างขึ้น หลังจากสร้างอ็อบเจ็กต์สตริงนี้แล้ว สามารถใช้เมธอดภายในของคลาส String กับอ็อบเจ็กต์สตริงได้


32) ในตัวอย่างด้านล่าง มีการสร้าง String Objects จำนวนเท่าใด

String s1="I am Java Expert";

String s2="I am C Expert";

String s3="I am Java Expert";

ในตัวอย่างข้างต้น สองวัตถุของ Javaคลาส .Lang.String ถูกสร้างขึ้น s1 และ s3 เป็นการอ้างอิงถึงวัตถุเดียวกัน


33) ทำไมต้องมีสตริงเข้า Java เรียกว่าไม่เปลี่ยนรูปเหรอ?

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

ในตัวอย่างด้านล่าง การอ้างอิง str อ้างอิงถึงวัตถุสตริงที่มีค่า "ค่าหนึ่ง"

String str="Value One";

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

str="New Value";

34) อะไรคือความแตกต่างระหว่างอาร์เรย์และเวกเตอร์?

อาร์เรย์จัดกลุ่มข้อมูลประเภทดั้งเดิมเดียวกันและมีลักษณะคงที่ในขณะที่เวกเตอร์มีลักษณะแบบไดนามิกและสามารถเก็บข้อมูลประเภทข้อมูลที่แตกต่างกันได้


35) มัลติเธรดคืออะไร?

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


36) เหตุใดจึงใช้ Runnable Interface Java?

อินเทอร์เฟซที่สามารถทำงานได้ใช้ใน Java สำหรับการใช้งานแอพพลิเคชั่นแบบมัลติเธรด Javaอินเทอร์เฟซ .Lang.Runnable ถูกนำมาใช้โดยคลาสเพื่อรองรับมัลติเธรด


37) อะไรคือสองวิธีในการใช้งานแบบมัลติเธรด Java?

สามารถพัฒนาแอพพลิเคชั่นแบบมัลติเธรดได้ Java โดยใช้วิธีการใดวิธีการหนึ่งจากสองวิธีต่อไปนี้:

1) โดยการใช้ Java.Lang.อินเทอร์เฟซที่รันได้ คลาสใช้อินเทอร์เฟซนี้เพื่อเปิดใช้งานมัลติเธรด มีเมธอด Run() ในอินเทอร์เฟซนี้ซึ่งมีการใช้งาน

2) โดยการเขียนคลาสที่ขยายออกไป Java.Lang.คลาสเธรด


38) เมื่อต้องมีการเปลี่ยนแปลงข้อมูลจำนวนมาก ควรเลือกใช้ข้อใด สตริงหรือสตริงBuffer?

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


39) การใช้ Break ในแต่ละกรณีของ Switch Statement มีไว้เพื่ออะไร?

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

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


40) วิธีการเก็บขยะทำอย่างไร Java?

ใน Java เมื่อวัตถุไม่ได้รับการอ้างอิงอีกต่อไป การเก็บขยะ เกิดขึ้นและวัตถุจะถูกทำลายโดยอัตโนมัติ สำหรับการรวบรวมขยะอัตโนมัติ Java จะเรียกใช้เมธอด System.gc() หรือเมธอด Runtime.gc()


41) เราจะรันโค้ดใด ๆ ก่อนเมธอดหลักได้อย่างไร?

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


42) คลาสสามารถเป็นคลาสซุปเปอร์และคลาสย่อยในเวลาเดียวกันได้หรือไม่? ยกตัวอย่าง.

หากมีการใช้ลำดับชั้นของการสืบทอด คลาสสามารถเป็นคลาสขั้นสูงสำหรับคลาสอื่นและคลาสย่อยสำหรับคลาสอื่นในเวลาเดียวกัน

ในตัวอย่างด้านล่าง ชั้นทวีปเป็นชั้นย่อยของระดับโลก และเป็นชั้นซุปเปอร์ของชั้นประเทศ

public class world {

..........

}
public class continenet extends world {

............

}
public class country extends continent {

......................

}

43) วัตถุของคลาสถูกสร้างขึ้นอย่างไรหากไม่มีการกำหนดคอนสตรัคเตอร์ในคลาส?

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


44) ในการทำงานแบบมัลติเธรด เราจะมั่นใจได้อย่างไรว่าทรัพยากรไม่ได้ถูกใช้โดยเธรดหลายเธรดพร้อมๆ กัน

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


45) เราสามารถเรียก Constructor ของคลาสมากกว่าหนึ่งครั้งสำหรับ Object ได้หรือไม่?

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


46) มีสองคลาสชื่อคลาส A และคลาส B ทั้งสองคลาสอยู่ในแพ็คเกจเดียวกัน สมาชิกส่วนตัวของ classA สามารถเข้าถึงได้โดยวัตถุของ classB หรือไม่?

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


47) เราสามารถมีสองวิธีในคลาสที่มีชื่อเดียวกันได้หรือไม่?

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

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

public class methodExample {

    public void print() {

        system.out.println("Print method without parameters.");

    }

    public void print(String name) {

        system.out.println("Print method with parameter");

    }

    public static void main(String args[]) {

        methodExample obj1 = new methodExample();

        obj1.print();

        obj1.print("xx");

    }

}

48) เราจะสร้างสำเนาของวัตถุ Java ได้อย่างไร?

เราสามารถใช้แนวคิดของการโคลนนิ่งเพื่อสร้างสำเนาของวัตถุ การใช้โคลนสร้างสำเนาที่มีสถานะจริงของวัตถุ

Clone() เป็นวิธีการของอินเทอร์เฟซ Cloneable และด้วยเหตุนี้จึงจำเป็นต้องมีการใช้อินเทอร์เฟซ Cloneable เพื่อทำสำเนาวัตถุ


49) การใช้มรดกมีประโยชน์อย่างไร?

ประโยชน์หลักของการใช้การสืบทอดคือการนำโค้ดกลับมาใช้ซ้ำได้ เนื่องจากการสืบทอดทำให้คลาสย่อยสามารถนำโค้ดของคลาสซุปเปอร์กลับมาใช้ใหม่ได้ Polymorphism (Extensibility) เป็นอีกหนึ่งคุณประโยชน์ที่ยอดเยี่ยมที่ช่วยให้สามารถนำฟังก์ชันใหม่ๆ มาใช้ได้ โดยไม่ส่งผลกระทบต่อคลาสที่ได้รับที่มีอยู่


50) ตัวระบุการเข้าถึงเริ่มต้นสำหรับตัวแปรและวิธีการของคลาสคืออะไร?

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


51)ยกตัวอย่างการใช้พอยน์เตอร์ใน Java ชั้นเรียน

ไม่มีตัวชี้ใน Java- ดังนั้นเราจึงใช้แนวคิดของพอยน์เตอร์ไม่ได้ Java.


52) เราจะจำกัดการสืบทอดสำหรับคลาสเพื่อที่จะไม่มีคลาสใดสืบทอดมาจากมันได้อย่างไร?

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

ในตัวอย่างต่อไปนี้ คลาส Stone จะเป็น Final และไม่สามารถขยายได้

public Final Class Stone {
	// Class methods and Variables
}

53) ขอบเขตการเข้าถึงของตัวระบุ Protected Access คืออะไร?

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

เปลี่ยนแปลง ชั้น แพ็คเกจ คลาสย่อย โลก
สาธารณะ Y Y Y Y
การป้องกัน Y Y Y N
ไม่มีตัวแก้ไข Y Y N N
ส่วนตัว Y N N N

54) Stack และ Queue ต่างกันอย่างไร

ทั้ง Stack และ Queue ถูกใช้เป็นตัวยึดตำแหน่งสำหรับการรวบรวมข้อมูล ความแตกต่างหลักระหว่างสแต็กและคิวคือสแต็กนั้นยึดตามหลักการเข้าก่อนออกก่อน (LIFO) ในขณะที่คิวยึดตามหลักการ FIFO (เข้าก่อนออกก่อน)


55) ใน Java เราจะยกเลิกการซีเรียลไลซ์ตัวแปรได้อย่างไร?

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

public class transientExample { 
	private transient trans_var; 
    // rest of the code 
}

56) เราจะใช้ชนิดข้อมูลดั้งเดิมเป็นวัตถุได้อย่างไร?

ชนิดข้อมูลดั้งเดิมเช่น int สามารถจัดการเป็นอ็อบเจ็กต์ได้โดยใช้คลาส wrapper ตามลำดับ ตัวอย่างเช่น Integer เป็นคลาส wrapper สำหรับชนิดข้อมูลดั้งเดิม int เราสามารถนำเมธอดที่แตกต่างกันไปใช้กับคลาส wrapper ได้ เช่นเดียวกับอ็อบเจ็กต์อื่นๆ


57) มีข้อยกเว้นประเภทใดบ้างที่ตรวจพบได้ในเวลารวบรวม?

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


58) อธิบายสถานะต่างๆ ของเธรด

มีด้ายเข้า Java อาจอยู่ในสถานะใดสถานะหนึ่งต่อไปนี้:

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

59) เราสามารถใช้ตัวสร้างเริ่มต้นของคลาสแม้ว่าจะมีการกำหนดตัวสร้างที่ชัดเจนหรือไม่?

Java ให้ค่าเริ่มต้นไม่มีตัวสร้างอาร์กิวเมนต์หากไม่มีการกำหนดตัวสร้างที่ชัดเจนใน Java ระดับ. แต่หากมีการกำหนดคอนสตรัคเตอร์ที่ชัดเจนแล้ว คอนสตรัคเตอร์เริ่มต้นจะไม่สามารถเรียกใช้ได้ และนักพัฒนาสามารถใช้เฉพาะคอนสตรัคเตอร์ที่กำหนดไว้ในคลาสเท่านั้น


60) เราสามารถแทนที่วิธีการโดยใช้ชื่อวิธีการและอาร์กิวเมนต์เดียวกัน แต่มีประเภทการส่งคืนที่แตกต่างกันได้หรือไม่?

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


61) ผลลัพธ์ของโค้ดชิ้นต่อไปนี้จะเป็นอย่างไร

public class operatorExample {

    public static void main(String args[]) {

        int x = 4;

        system.out.println(x++);
	}
}

ในกรณีนี้ จะใช้ตัวดำเนินการ postfix ++ ซึ่งจะคืนค่าก่อนแล้วจึงเพิ่มค่า ดังนั้นผลลัพธ์ที่ได้จะเป็น 4


61) มีคนบอกว่าเขาคอมไพล์คลาส java ได้สำเร็จโดยไม่ต้องมีเมธอดหลักด้วยซ้ำ? เป็นไปได้ไหม?

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


62) เราสามารถเรียกวิธีแบบไม่คงที่จากภายในวิธีแบบคงที่ได้หรือไม่?

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


63) ตัวแปรสภาพแวดล้อมสองตัวที่ต้องตั้งค่าเพื่อให้สามารถรันได้คืออะไร Java โปรแกรม?

Java โปรแกรมสามารถดำเนินการในเครื่องได้เพียงครั้งเดียวโดยตั้งค่าตัวแปรสภาพแวดล้อมสองตัวต่อไปนี้อย่างถูกต้อง:

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

64) สามารถใช้ตัวแปรเข้าได้ Java โดยไม่ต้องเริ่มต้น?

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


65) สามารถเข้าชั้นเรียนได้ Java ได้รับการสืบทอดจากมากกว่าหนึ่งคลาส?

In Javaคลาสสามารถได้รับมาจากคลาสเดียวเท่านั้นและไม่สามารถมาจากหลายคลาสได้ ไม่รองรับการสืบทอดหลายรายการ Java.


66) Constructor สามารถมีชื่อที่แตกต่างจากชื่อคลาสได้หรือไม่ Java?

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


67) ผลลัพธ์ของ Round(3.7) และ Ceil(3.7) จะเป็นอย่างไร?

รอบ (3.7) ส่งคืน 4 และ Ceil (3.7) ส่งคืน 4


68) เราสามารถใช้ goto ในได้ไหม Java เพื่อไปยังบรรทัดใด?

In Javaไม่มีคำสำคัญ goto และ Java ไม่รองรับฟีเจอร์นี้ในการไปที่บรรทัดที่มีป้ายกำกับเฉพาะ


69) เธรดที่ตายสามารถเริ่มต้นใหม่ได้หรือไม่?

ใน Java เธรดที่อยู่ในสถานะไม่ทำงานไม่สามารถเริ่มต้นใหม่ได้ ไม่มีวิธีรีสตาร์ทเธรดที่ไม่ทำงาน


70) การประกาศคลาสต่อไปนี้ถูกต้องหรือไม่?

public abstract final class testClass {
	// Class methods and variables
}

คำตอบ: การประกาศคลาสข้างต้นไม่ถูกต้อง เนื่องจากคลาสนามธรรมไม่สามารถประกาศเป็นคลาสสุดท้ายได้


71) จำเป็นต้องใช้ JDK ในแต่ละเครื่องเพื่อรัน a Java โปรแกรม?

JDK เป็นชุดพัฒนาของ Java และจำเป็นสำหรับการพัฒนาเท่านั้นและเพื่อดำเนินการ Java โปรแกรมบนเครื่อง ไม่จำเป็นต้องใช้ JDK ต้องใช้ JRE เท่านั้น


72) ความแตกต่างระหว่างการเปรียบเทียบที่ทำโดยวิธีการเท่ากับและตัวดำเนินการ == คืออะไร

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

ในตัวอย่างต่อไปนี้ equals() คืนค่า true เนื่องจากวัตถุสตริงทั้งสองมีค่าเท่ากัน อย่างไรก็ตาม ตัวดำเนินการ == คืนค่า false เนื่องจากวัตถุสตริงทั้งสองอ้างอิงถึงวัตถุที่แตกต่างกัน:

public class equalsTest {

    public static void main(String args[]) {

        String str1 = new String("Hello World");

        String str2 = new String("Hello World");

        if (str1.equals(str2))

        { // this condition is true

            System.out.println("str1 and str2 are equal in terms of values");

        }

        if (str1 == str2) {

            //This condition is true

            System.out.println("Both strings are referencing same object");

        } else

        {

            // This condition is NOT true

            System.out.println("Both strings are referencing different objects");

        }

    }

}

73) เป็นไปได้ไหมที่จะกำหนดวิธีการ Java แต่จัดให้มีการใช้งานในโค้ดของภาษาอื่นเช่น C?

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


74) ผู้ทำลายล้างถูกกำหนดไว้อย่างไร Java?

In Javaไม่มี destructors ที่กำหนดไว้ในคลาส เนื่องจากไม่จำเป็นต้องทำเช่นนั้น Java มีกลไกการรวบรวมขยะของตัวเองซึ่งทำงานโดยอัตโนมัติโดยการทำลายอ็อบเจ็กต์เมื่อไม่มีการอ้างอิงอีกต่อไป


Java คำถามและคำตอบในการสัมภาษณ์สำหรับประสบการณ์ 5 ปีขึ้นไป

75) ตัวแปรสามารถเป็นแบบโลคัลและสแตติกในเวลาเดียวกันได้หรือไม่?

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


76) เราสามารถมีวิธีการคงที่ในส่วนต่อประสานได้หรือไม่?

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


77) ในคลาสที่ใช้อินเทอร์เฟซ เราสามารถเปลี่ยนค่าของตัวแปรใด ๆ ที่กำหนดไว้ในอินเทอร์เฟซได้หรือไม่?

ไม่ เราไม่สามารถเปลี่ยนค่าของตัวแปรใดๆ ของอินเทอร์เฟซในคลาสการใช้งานได้ เนื่องจากตัวแปรทั้งหมดที่กำหนดไว้ในอินเทอร์เฟซนั้นโดยค่าเริ่มต้นจะเป็น public, static และ Final และตัวแปร final นั้นเป็นค่าคงที่ซึ่งไม่สามารถเปลี่ยนแปลงได้ในภายหลัง


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

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

ดังนั้นการรวบรวมขยะจะช่วยลดโอกาสที่โปรแกรมจะหน่วยความจำไม่เพียงพอ แต่ก็ไม่รับประกันว่าจะเป็นเช่นนั้น


79) เราสามารถมีประเภทการส่งคืนอื่นนอกเหนือจาก void สำหรับวิธีหลักได้หรือไม่?

ไม่มี, Java เมธอดหลักของคลาสสามารถมีได้เฉพาะประเภทการส่งคืนเป็นโมฆะเพื่อให้โปรแกรมดำเนินการได้สำเร็จ

อย่างไรก็ตาม หากคุณต้องคืนค่าอย่างแน่นอนเมื่อเสร็จสิ้น main method คุณสามารถใช้ System.exit(int status)


80) ฉันต้องการเข้าถึงอีกครั้งและใช้สิ่งของเมื่อเก็บขยะแล้ว มันเป็นไปได้อย่างไร?

เมื่อตัวรวบรวมขยะทำลายวัตถุแล้ว วัตถุนั้นจะไม่ปรากฏบนฮีปอีกต่อไปและไม่สามารถเข้าถึงได้อีก ไม่มีทางที่จะอ้างอิงวัตถุนั้นอีกครั้ง


81) ใน Java การเขียนโปรแกรมเธรด วิธีใดที่ต้องนำไปใช้กับเธรดทั้งหมด

Run() เป็นวิธีการของอินเทอร์เฟซ Runnable ที่เธรดทั้งหมดต้องนำไปใช้


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

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


83) โปรแกรมเมอร์สามารถส่งข้อยกเว้นด้วยตนเองได้อย่างไร?

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

public void topMethod() {
    try {
        excMethod();
    } catch (ManualException e) {}
}

public void excMethod {
    String name = null;
    if (name == null) {
        throw (new ManualException("Exception thrown manually ");
        }
    }

84) ฉันต้องการให้คลาสของฉันได้รับการพัฒนาในลักษณะที่ไม่มีคลาสอื่น (แม้แต่คลาสที่ได้รับมา) ที่สามารถสร้างอ็อบเจ็กต์ของมันได้ ฉันจะทำเช่นนั้นได้อย่างไร?

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


85) วิธีการจัดเก็บวัตถุ Java?

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


86) เราจะหาขนาดที่แท้จริงของวัตถุบนฮีปได้อย่างไร?

ใน Java ไม่มีวิธีใดที่จะค้นหาขนาดที่แน่นอนของวัตถุบนฮีปได้


87) คลาสใดต่อไปนี้จะได้รับการจัดสรรหน่วยความจำมากขึ้น

คลาส A: สามวิธี สี่ตัวแปร ไม่มีวัตถุ

คลาส B: ห้าวิธี สามตัวแปร ไม่มีวัตถุ

หน่วยความจำไม่ได้รับการจัดสรรก่อนการสร้างวัตถุ เนื่องจากสำหรับทั้งสองคลาส ไม่มีการสร้างอ็อบเจ็กต์ ดังนั้นจึงไม่มีการจัดสรรหน่วยความจำบนฮีปสำหรับคลาสใดๆ


88) จะเกิดอะไรขึ้นหากไม่มีการจัดการข้อยกเว้นในโปรแกรม?

ถ้าไม่มีการจัดการข้อยกเว้นในโปรแกรมโดยใช้บล็อก try catch โปรแกรมจะถูกยกเลิก และไม่มีการดำเนินการคำสั่งใดๆ หลังจากคำสั่งที่ทำให้เกิดการโยนข้อยกเว้น


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

หากคลาสหนึ่งมีคอนสตรัคเตอร์หลายตัว ก็เป็นไปได้ที่จะเรียกคอนสตรัคเตอร์ตัวหนึ่งจากเนื้อหาของอีกตัวหนึ่งโดยใช้ นี้().


90) คลาสนิรนามหมายถึงอะไร?

คลาสที่ไม่ระบุชื่อคือคลาสที่กำหนดโดยไม่มีชื่อใดๆ ในโค้ดบรรทัดเดียวโดยใช้คีย์เวิร์ดใหม่

ตัวอย่างเช่น ในโค้ดด้านล่าง เราได้กำหนดคลาสที่ไม่ระบุชื่อไว้ในโค้ดบรรทัดเดียว:

public java.util.Enumeration testMethod()

{

    return new java.util.Enumeration()

    {

        @Override

        public boolean hasMoreElements()

        {

            // TODO Auto-generated method stub

            return false;

        }

        @Override

        public Object nextElement()

        {

            // TODO Auto-generated method stub

            return null;

        }

    }

91) มีวิธีเพิ่มขนาดของอาร์เรย์หลังจากการประกาศหรือไม่?

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


92) หากแอปพลิเคชันมีหลายคลาส เป็นไปได้ไหมที่จะมีเมธอดหลักในมากกว่าหนึ่งคลาส?

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


93) ฉันต้องการเก็บข้อมูลของอ็อบเจ็กต์ไว้ใช้งานในภายหลัง วิธีที่ดีที่สุดในการทำเช่นนั้นคืออะไร

วิธีที่ดีที่สุดในการคงข้อมูลไว้ใช้ในอนาคตคือการใช้แนวคิดเรื่องซีเรียลไลซ์


94) ชั้นเรียน Local คืออะไร Java?

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


95) สตริงและสตริงBuffer ทั้งสองเป็นตัวแทนของวัตถุสตริง เราสามารถเปรียบเทียบ String และ String ได้ไหมBuffer in Java?

แม้ว่าสตริงและสตริงBuffer ทั้งสองเป็นตัวแทนของวัตถุ String เราไม่สามารถเปรียบเทียบกันและถ้าเราพยายามเปรียบเทียบพวกมัน เราก็จะได้รับข้อผิดพลาด


96) API ใดที่จัดทำโดย Java สำหรับการดำเนินการกับชุดของวัตถุ?

Java จัดเตรียม Collection API ซึ่งมีวิธีการที่เป็นประโยชน์มากมายซึ่งสามารถนำไปใช้กับชุดของอ็อบเจ็กต์ได้ คลาสที่สำคัญบางคลาสที่ Collection API มอบให้ ได้แก่ ArrayList, HashMap, TreeSet และ TreeMap


97) เราสามารถแปลงประเภทอื่นเป็น Boolean Type ด้วย type casting ได้หรือไม่?

ไม่ เราไม่สามารถส่งประเภทข้อมูลดั้งเดิมอื่น ๆ ไปเป็นประเภทข้อมูลบูลีน และไม่สามารถส่งประเภทข้อมูลบูลีนไปยังประเภทข้อมูลดั้งเดิมอื่น ๆ ได้


98) เราสามารถใช้วิธีส่งคืนประเภทต่าง ๆ เมื่อเขียนทับได้หรือไม่?

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

ตัวอย่างเช่น วิธีการส่งคืนประเภทการอ้างอิง

Class B extends A {

    A method(int x) {

        //original method

    }

    B method(int x) {

        //overridden method

    }

}

99) คลาสพื้นฐานของคลาสยกเว้นทั้งหมดคืออะไร?

In Java, Java.lang.Throwable เป็นคลาสซุปเปอร์ของคลาสข้อยกเว้นทั้งหมด และคลาสข้อยกเว้นทั้งหมดได้มาจากคลาสพื้นฐานนี้


100) ลำดับการเรียกตัวสร้างในการสืบทอดคืออะไร?

ในกรณีของการสืบทอด เมื่อมีการสร้างอ็อบเจ็กต์ใหม่ของคลาสที่ได้รับ ขั้นแรกให้เรียกใช้คอนสตรัคเตอร์ของคลาสซุปเปอร์ จากนั้นจึงเรียกใช้คอนสตรัคเตอร์ของคลาสที่ได้รับ

เตรียมตัวสัมภาษณ์งาน!!! ผ่าน Java การกวดวิชา เพื่อเตรียมตัวให้ดียิ่งขึ้น

รายละเอียดนี้ Java แบบทดสอบทดสอบจำลองจะช่วยให้คุณคลายข้อสงสัย Java คำถามสัมภาษณ์และยังช่วยให้คุณถอดรหัสการสัมภาษณ์อีกด้วย

ล้อยางขัดเหล่านี้ติดตั้งบนแกน XNUMX (มม.) ผลิตภัณฑ์นี้ถูกผลิตในหลายรูปทรง และหลากหลายเบอร์ความแน่นหนาของปริมาณอนุภาคขัดของมัน จะทำให้ท่านได้รับประสิทธิภาพสูงในการขัดและการใช้งานที่ยาวนาน Java และ Java 8 คำถามสัมภาษณ์ จะช่วยในวีว่าของคุณ (ช่องปาก)