자바 반사:자바 방법 반사 기본 조작
3150 단어 자바 기반자바 반사 메커니즘
class A{
public void print() {
System.out.println(" ");
}
public void print(int a,int b) {
System.out.println(a+b);
}
public void print(String a,String b) {
System.out.println(a.toUpperCase()+","+b.toLowerCase());
}
}
함 수 를 유일 하 게 확인 하려 면 함수 명 에 매개 변수 목록 을 추가 하면 확인 할 수 있 습 니 다.클래스 A 에 세 개의 함수 가 있 는데 각각 인삼 이 없 는 함수 와 두 개의 인삼 함수 가 있 으 면 우 리 는 자바 방법 을 통 해 함수 호출 을 반사 합 니 다.
public static void main(String[] args) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
// print(int,int) , ,
A a=new A();
Class c=a.getClass();//
/*
* ,
* getMethod() public
* getDeclaredMethod()
*/
Method m=c.getMethod("print", new Class[] {int.class,int.class});//
// , m
Object o=m.invoke(a,new Object[] {1,2});//
Method m2=c.getMethod("print", new Class[] {String.class,String.class});
Object o2=m2.invoke(a, "hello","world");//
System.out.println(o2); // void ,
Method m3=c.getMethod("print");// , , new Class[]{}
Object o4=m3.invoke(a);
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
범용 용법 예시앞으로 51CTO 에 정착 해 기술 개발 에 전념 할 테 니 잘 부탁드립니다.다음 코드 는 자신 이 (저자: 이 흥 화) 를 공부 할 때 두 드 린 코드 로 주석 이 완비 되 어 있다. 범용 클래스 Point. ja...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.