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

วิธีสร้างอินสแตนซ์ Static Inner Class ด้วย Reflection ใน Java


Static inner class สร้างอินสแตนซ์ได้ โดยไม่ต้องมีอินสแตนซ์ของ outer class โดยทั่วไป Inner class เป็นส่วนหนึ่งของ nested class เรียกว่า Non-static nested classes ประเภท: member inner class, anonymous inner class, local inner class

เราสามารถสร้าง static inner class ด้วย reflection ใช้ InnerClass.class.newInstance() หากต้องการสร้าง non-static inner class ต้องระบุอินสแตนซ์ outer class ก่อน new operator

ตัวอย่าง

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 !!!