คลาสภายในคงที่ สามารถสร้างอินสแตนซ์ได้โดยไม่ต้องใช้ อินสแตนซ์ของคลาสภายนอก . โดยทั่วไป คลาสชั้นใน เป็นส่วนหนึ่งของ คลาสที่ซ้อนกัน เรียกว่า คลาสที่ซ้อนกันแบบไม่คงที่ ในชวา ประเภทของคลาสภายในคือ สมาชิกคลาสภายใน คลาสภายในที่ไม่ระบุชื่อ และ ชั้นในของท้องถิ่น
เราสามารถยกตัวอย่างคลาสภายในแบบคงที่ด้วยการสะท้อนโดยใช้ InnerClass.class.newInstance() . หากเราต้องการอินสแตนซ์ของคลาสภายนอกเพื่อสร้างอินสแตนซ์ของคลาสภายในที่ไม่คงที่ เราสามารถระบุได้ก่อน ใหม่ โอเปอเรเตอร์
ตัวอย่าง
import java.lang.reflect.*;
public class InnerclassWithReflectionTest {
public static void main(String args[]) {
try {
InnerClass inner = (InnerClass) InnerClass.class.newInstance();
inner.test();
} catch(Exception e) {
e.printStackTrace();
}
}
// inner class
static class InnerClass {
public void test() {
System.out.println("Welcome to TutorialsPoint !!!");
}
}
} ผลลัพธ์
Welcome to TutorialsPoint !!!