class.getMethos() 메소드를 통해 상위 클래스의 공개 메소드를 포함한 클래스의 모든 공개 메소드를 가져옵니다.
1 import lombok.Data; 2 3 /** 4 * Created by hunt on 2017/6/27. 5 * 测试的实体类 6 * @Data 编译后会自动生成set、get、无惨构造、equals、canEqual、hashCode、toString方法 7 */ 8 @Data 9 public class Person {10 private String name;11 public String nickName;12 private int age;13 private void say(){14 System.out.println("say hunt");15 }16 }
1 import java.lang.reflect.Method; 2 3 /** 4 * Created by hunt on 2017/6/27. 5 */ 6 public class NewInstanceTest { 7 public static void main(String[] args) { 8 Class<Person> personClass = Person.class; 9 try {10 Method[] methods = personClass.getMethods();11 for (Method m:methods) {12 System.out.println(m);13 }14 } catch (Exception e) {15 e.printStackTrace();16 }17 }18 }
class.getDeclaredMethods()를 통해 클래스의 모든 속성을 가져옵니다. 방법(공개, 보호, 기본 및 개인 방법).
1 import java.lang.reflect.Method; 2 3 /** 4 * Created by hunt on 2017/6/27. 5 */ 6 public class NewInstanceTest { 7 public static void main(String[] args) { 8 Class<Person> personClass = Person.class; 9 try {10 Method[] methods = personClass.getDeclaredMethods();11 for (Method m:methods) {12 System.out.println(m);13 }14 } catch (Exception e) {15 e.printStackTrace();16 }17 }18 }
참고: 반환된 메서드 배열의 요소는 정렬되거나 특정 순서로 정렬되지 않습니다.
특정 메소드 가져오기:
1 import java.lang.reflect.Method; 2 3 /** 4 * Created by hunt on 2017/6/27. 5 */ 6 public class NewInstanceTest { 7 public static void main(String[] args) { 8 Class<Person> personClass = Person.class; 9 try {10 Person p = personClass.newInstance();11 Method method = personClass.getMethod("setName", String.class);12 method.invoke(p,"hunt");13 System.out.println(p);14 method = personClass.getMethod("getName");15 System.out.println("getName方法"+method.invoke(p));16 method = personClass.getDeclaredMethod("say");17 method.setAccessible(true);//私有方法要授权18 method.invoke(p);19 } catch (Exception e) {20 e.printStackTrace();21 }22 }23 }
요약: personClass.getDeclaredMethod("say")
总结:personClass.getDeclaredMethod("say");
method.setAccessible(
true
);
method.setAccessible(
true
);
속성에 기반 , 기본값은 false입니다. 이는 인증 프로세스와 동일하며 이 속성의 작동을 허용하려면 true를 설정합니다. 🎜위 내용은 자바에서 클래스를 얻는 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!