Java 리플렉션, 개인 메소드 호출
그래서?쉬움
String?path="com.test.B"
Class?clazz?=?Class.forName(path);// b의 반영을 얻습니다.
B?b?=(B)clazz.newInstance();//전제는 클래스 b에 매개변수 없는 생성자가 있다는 것입니다.
Method?m?= ? clazz.getDeclaredMehod("SetName",String.class);
m.setAccessible(true);//보안 검사를 수행하지 않고 비공개 메서드에 액세스할 수 있습니다.
m. b, "하하");
B용입니다(값을 호출하고 할당하는 데 다음 메서드가 사용됩니다)
private?void?SetName(String?s){}
ps?getDeclaredMehod?는 비공개 메소드에 대한 호출입니까? 액세스하려면 setAccessible을 추가해야 합니다.
getMehod?는 일반 메소드에 대한 호출이므로 setAccessible을 추가할 필요가 없습니다. >