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

จะยกตัวอย่างคลาสภายในแบบสแตติกด้วยการสะท้อนใน Java ได้อย่างไร?


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

เราสามารถยกตัวอย่างคลาสภายในแบบคงที่ด้วยการสะท้อนโดยใช้ 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 !!!