Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java
Java
  1. วิธีจัดการ ArithmeticException (unchecked) ใน Java

    java.lang.ArithmeticException เป็น unchecked exception ใน Java ปกติจะพบ java.lang.ArithmeticException: / by zero ซึ่งเกิดเมื่อพยายาม หารตัวเลขสองจำนวน และตัวเลขใน ตัวส่วนเป็นศูนย์ ออบเจ็กต์ ArithmeticException อาจถูกสร้างโดย JVM ตัวอย่างที่ 1 public class ArithmeticExceptionTest { public static

  2. วิธีจัดการ NumberFormatException (unchecked) ใน Java

    NumberFormatException เป็น unchecked exception ที่โยนโดยเมธอด parseXXX() เมื่อไม่สามารถ แปลง (convert) สตริงเป็นตัวเลข ได้ NumberFormatException อาจถูกโยนโดยหลาย เมธอด/คอนสตรัคเตอร์ ในคลาสของแพ็กเกจ java.lang ตัวอย่างเช่น: public static int parseInt(String s) throws NumberFormatException p

  3. วิธีจัดการ ArrayStoreException (unchecked) ใน Java

    java.lang.ArrayStoreException เป็น unchecked exception ที่เกิดขึ้นเมื่อเราพยายามเก็บออบเจ็กต์ของชนิดหนึ่งลงในอาเรย์ของออบเจ็กต์ชนิดอื่น ปกติแล้วจะพบ java.lang.ArrayStoreException: java.lang.Integer ซึ่งเกิดจากการพยายามเก็บค่า Integer ลงในอาเรย์ชนิดอื่น เช่น อาเรย์ของ String หรือ Float ตัวอย่างที่ 1

  4. Method Local Inner Class เข้าถึง Local Final Variables ได้ไหม?

    ได้ Method Local Inner Class สามารถเข้าถึง Local Final Variables (หรือ Effectively Final ใน Java 8+) ได้ เพราะ Final Variables เก็บอยู่ใน Heap และมีอายุยืนยาวพอสำหรับ Inner Class Object Method Local Inner Class ประกาศ ภายใน Method (Local Scope) Instance ส่งเป็น Argument/Return จาก Method ได้ ข้อจำ

  5. ประกาศ Top-Level Class เป็น Protected หรือ Private ใน Java ได้ไหม?

    ไม่ได้ Top-Level Class (Class ที่ไม่ได้อยู่ใน Class อื่น) ไม่สามารถเป็น private หรือ protected ได้ มีได้แค่ public หรือ default (package-private) Error Messages // Private Top-Level Class private class PrivateClassTest { } // Error: modifier private not allowed here // Protected Top-Level Class

  6. ประกาศ Try-Catch ซ้อนกัน (Nested) ใน Java ได้ไหม?

    ได้ สามารถประกาศ Try-Catch Block ภายใน Try-Catch Block อื่น เรียกว่า Nested Try-Catch Block การทำงานของ Nested Try-Catch Inner Try Block รันก่อน Exception ใน Inner จะถูกจับโดย Inner Catch ก่อน ถ้า Inner Catch ไม่จับ Exception นั้น (ไม่ Match) จะขึ้นไปที่ Outer Catch ดำเนินต่อจนกว่า Catch Match หรื

  7. ความแตกต่างระหว่าง length และ length() ใน Java

    length เป็น Instance Variable ของ Array ส่วน length() เป็น Method ของ String Class length (Array) Array เป็น Object ที่เก็บค่า จำนวนคงที่ (Fixed Size) length คืน จำนวน Elements ใน Array Initialize แล้ว เปลี่ยนขนาดไม่ได้ จึงเข้าถึง length ตรงได้ ใช้ได้กับ Array เท่านั้น ตัวอย่าง public class Arr

  8. Nested Class ใน Java มีกี่ประเภท?

    ใน Java สามารถ定义 Class ภายใน Class อีกตัว (Nested Class) ใช้ Access Modifier: private, public, protected, default สำหรับ Inner Class, public, default สำหรับ Outer Class มี 2 ประเภทหลัก: Static Nested Class (Static Member Class) Non-Static Nested Class (Inner Class) 1. Static Nested Class ประกาศ

  9. ClassCastException ใน Java คืออะไร และเกิดเมื่อไหร่?

    java.lang.ClassCastException เป็น Unchecked Exception** เกิดเมื่อพยายาม Cast Object จาก Class Type หนึ่ง เป็น อีก Class Type หนึ่ง ที่ไม่เข้ากัน เมื่อไหร่เกิด ClassCastException Cast Parent Object → Child Type (Downcast ผิด: Parent ไม่ใช่ Child) Cast ระหว่าง Class ที่ไม่เกี่ยวข้อง (No Inheritance

  10. กฎการ Override Method ที่โยน Exception ใน Java

    เมื่อ Override Method ที่มี throws clause ต้องปฏิบัติกฎต่อไปนี้ กฎที่ 1: Parent ไม่โยน Exception Child ไม่สามารถโยน Checked Exception ใหม่ได้ แต่โยน Unchecked Exception ได้ class Parent { void doSomething() { } } class Child extends Parent { void doSomething() throws IllegalArgumentExcept

  11. จัดการ StringIndexOutOfBoundsException (Unchecked) ใน Java

    StringIndexOutOfBoundsException เป็น Unchecked Exception** เกิดเมื่อเข้าถึง Character ใน String ด้วย Index ที่ เกินช่วง [0, length-1] ตัวอย่างที่ทำให้เกิด Exception = Length } } ผลลัพธ์ (Exception) Length: 27 Exception in thread main java.lang.StringIndexOutOfBoundsException: String index ou

  12. Override Final Method ของ Superclass ใน Java ผลลัพธ์อย่างไร?

    เมธอดที่ประกาศ final ใน Superclass ไม่สามารถ Override ได้ ถ้าพยายาม Override จะเกิด Compile-time Error กฎ Method Overriding Method Signature ต้องเหมือนกัน (Name, Parameters, Return Type) Subclass ต้อง Extends Superclass ก่อน Subclass ไม่สามารถ Override Final Method ของ Superclass ได้ ตัวอย่างที่

  13. ประกาศ Constructor เป็น Private ใน Java ได้ไหม?

    ได้ สามารถประกาศ Constructor เป็น Private ได้ แต่จะ สร้าง Object ไม่ได้จากภายนอก ใช้ใน Singleton Design Pattern เงื่อนไข Constructor Private ไม่สามารถ Subclass (Extend) ได้ (Compile Error) ไม่สามารถ new Object จากภายนอก ได้ เหมาะสำหรับ Class ที่มี Static Methods เท่านั้น (Utility Class) เหมาะสำหรั

  14. ตั้งชื่อ Method เหมือน Class Name ใน Java ได้ไหม?

    ได้ Java อนุญาตให้ตั้งชื่อ Method เหมือน Class Name ไม่มี Compile/Runtime Error แต่ ไม่แนะนำ ตาม Coding Standards (Constructor ชื่อต้องเหมือน Class) ตัวอย่างโค้ด public class MethodNameTest { private String str = Welcome to TutorialsPoint; // Method ชื่อเหมือน Class - Valid แต่ไม่แนะน

  15. ความแตกต่างระหว่าง Static Block และ Constructor ใน Java

    Static Block ทำงานตอน Class Loading (โหลดคลาสเข้าหน่วยความจำ) ทำงาน ก่อน main() Method ไม่มีชื่อใน Prototype (แค่ static { ... }) ใช้สำหรับ Logic ที่ต้องรันตอน Class Load (เช่น Load Native Library, Initialize Static Config) Syntax static { // statements } ตัวอย่าง Static Block public clas

  16. Extend Enum ใน Java ได้ไหม?

    ไม่ได้ Java ไม่สามารถ extends Enum ได้ Enum ขยาย java.lang.Enum โดยอัตโนมัติ (Implicitly) จึงไม่สามารถ extends คลาสอื่นได้ (Java ไม่รองรับ Multiple Inheritance) Enum ใน Java Data Type พิเศษ เพิ่มใน Java 1.5 กำหนด Collection of Constants ค่าคงที่ที่รู้จักล่วงหน้า Constants เป็น static และ final โดย

  17. เปลี่ยนลำดับ public static void main() เป็น static public void main() ได้ไหม?

    ได้ Java อนุญาตให้สลับลำดับ Modifier ได้: static public void main() ทำงานเหมือน public static void main() ไม่มี Compile/Runtime Error กฎระเบียบ Modifier Order Method Name: ต้องอยู่ท้ายสุด (main) Return Type: ต้องอยู่ก่อน Method Name (void) Modifiers (public, static, final, abstract, synchronized,

  18. เมื่อไหร่ควรใช้เมธอด intern() ของ String ใน Java

    เมธอด intern() ของ String Class ใช้แก้ปัญหา String Duplication ประหยัดหน่วยความจำจาก Duplicate String Instances (เนื้อหาเหมือนกัน แต่อยู่คนละ Memory Location) String Pool และ intern() JVM มี String Pool (ใน Heap) เก็บ String Literal String Literal เดียวกัน → ชี้ Object เดียวใน Pool new String() สร

  19. สร้าง Static Constructor ใน Java ได้ไหม?

    ไม่ได้ Java ไม่รองรับ Static Constructor ถ้าพยายามประกาศ Constructor ด้วย static จะเกิด Compile-time Error เหตุผล Static = ระดับคลาส (Class-level) ใช้ร่วมกันทุกอินสแตนซ์ Constructor = ใช้ Initialize Instance Variables (ระดับอินสแตนซ์) ทั้งคู่ ขัดแย้งกัน (Opposite concepts) ตัวอย่างที่ Error pub

  20. เปลี่ยน/เพิ่ม Heap Size ของ JVM ใน Java

    โปรแกรม Java รันบน JVM ใช้ Heap Memory จัดการข้อมูล ถ้าโปรแกรมต้องการหน่วยความจำมากเกินกว่า Heap จะเกิด OutOfMemoryError Command Line Options สำหรับ Heap Size -Xms - ตั้งค่า Initial Heap Size (เริ่มต้น) -Xmx - ตั้งค่า Maximum Heap Size (สูงสุด) -Xss - ตั้งค่า Thread Stack Size ตัวอย่างการใช้งาน

Total 1935 -คอมพิวเตอร์  FirstPage PreviousPage NextPage LastPage CurrentPage:11/97  20-คอมพิวเตอร์/Page Goto:1 5 6 7 8 9 10 11 12 13 14 15 16 17