50_동적 클래스 생성 및 방법 목록 정보 보기
6462 단어 메서드
package com.itcast.day3;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.Collection;
public class ProxyTest {
public static void main(String[] args)throws Exception {
Class clazzProxy1=Proxy.getProxyClass(Collection.class.getClassLoader(), Collection.class);
System.out.println(clazzProxy1.getName());//com.sun.proxy.$Proxy0
/**** *****/
/**
* $Proxy0()
* $Proxy0(InvoketionHandler)
*/
System.out.println("--------begin constructors list----------");
Constructor[] constructors=clazzProxy1.getConstructors();
for(Constructor constructor:constructors){
String name=constructor.getName();
StringBuilder sb=new StringBuilder(name);
sb.append("(");
Class[] clazzParams=constructor.getParameterTypes();
for(Class clazz:clazzParams){
sb.append(clazz.getName());
sb.append(',');
}
if(clazzParams!=null&&clazzParams.length!=0)
sb.deleteCharAt(sb.length()-1);
sb.append(")");
System.out.println(sb);
}
/**
--------begin constructors list----------
com.sun.proxy.$Proxy0(java.lang.reflect.InvocationHandler)
*/
/**** *****/
System.out.println("--------begin methods list----------");
Method[] methods=clazzProxy1.getMethods();
for(Method method:methods){
String name=method.getName();
StringBuilder sb=new StringBuilder(name);
sb.append("(");
Class[] clazzParams=method.getParameterTypes();
for(Class clazz:clazzParams){
sb.append(clazz.getName());
sb.append(',');
}
if(clazzParams!=null&&clazzParams.length!=0)
sb.deleteCharAt(sb.length()-1);
sb.append(")");
System.out.println(sb);
}
/**
* Collection Object
* --------begin methods list----------
add(java.lang.Object)
equals(java.lang.Object) InvocationHandler, getClass() Proxy toString() hashCode()
clear()
contains(java.lang.Object)
isEmpty()
addAll(java.util.Collection)
iterator()
size()
toArray([Ljava.lang.Object;)
toArray()
remove(java.lang.Object)
containsAll(java.util.Collection)
removeAll(java.util.Collection)
retainAll(java.util.Collection)
isProxyClass(java.lang.Class)
getProxyClass(java.lang.ClassLoader,[Ljava.lang.Class;)
getInvocationHandler(java.lang.Object)
newProxyInstance(java.lang.ClassLoader,[Ljava.lang.Class;,java.lang.reflect.InvocationHandler)
wait(long)
wait()
wait(long,int)
getClass()
notify()
notifyAll()
*/
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
자바 헷갈리는 메서드 정리메서드 종류들을 정리합니다. toString(); Object 최상위클래스의 메서드 항상 있음! trim(); space 없앰! 단, 양쪽 앞뒤 만 제거함! substring(3) : 문자짜르기, 인덱스3번째부터 나...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.