Java reflection (java. lang. reflect ),
1. Ordinary full and hungry Chinese
Package org. bighead. test2; public class TestPrivate {private String str = "strPrivate"; private static final TestPrivate TESTPRIVATE = new TestPrivate (); // full Chinese and hungry Chinese private TestPrivate () {super (); System. out. println (str);} public TestPrivate getInstance () {return TESTPRIVATE;} public void toPrint () {System. out. println ("private constructor-public method-Single Instance ");}}
Reflection to create instances and call methods (accessible to instances)
package org.bighead.test2;import java.lang.reflect.Constructor;import java.lang.reflect.InvocationTargetException;public class TestDefaultSub {public static void main(String[] args) {Class<TestPrivate> clazz = TestPrivate.class;try {Constructor<?> constructor = clazz.getDeclaredConstructor();constructor.setAccessible(true);TestPrivate tp = (TestPrivate) constructor.newInstance();tp.toPrint();} catch (NoSuchMethodException e) {e.printStackTrace();} catch (InstantiationException e1) {e1.printStackTrace();} catch (IllegalAccessException e1) {e1.printStackTrace();} catch (InvocationTargetException e1) {e1.printStackTrace();}}}
2. Concurrency also affects