Instructions
1. 프록시 클래스 인스턴스를 얻으려면 Proxy 클래스의 newProxyInstance 메서드를 호출하세요.
2. 이 프록시 클래스는 지정된 인터페이스를 구현하고 지정된 호출 프로세서에 메서드 호출을 배포합니다.
메서드 선언
public static Object newProxyInstance(ClassLoader loader, Class<?>[] interfaces, InvocationHandler h) throws IllegalArgumentException
Parameters
loader: 프록시 클래스의 ClassLoder 정의
인터페이스: 프록시 클래스에 의해 구현된 인터페이스 목록
h: 위에서 정의한 InvocationHandler 인터페이스를 구현하는 호출 프로세서 클래스 인스턴스
인스턴스
public class Main { public static void main(String[] args) { //创建中介类实例 DynamicProxy inter = new DynamicProxy(new Vendor()); //加上这句将会产生一个$Proxy0.class文件,这个文件即为动态生成的代理类文件 System.getProperties().put("sun.misc.ProxyGenerator.saveGeneratedFiles","true"); //获取代理类实例sell Sell sell = (Sell)(Proxy.newProxyInstance(Sell.class.getClassLoader(), new Class[] {Sell.class}, inter)); //通过代理类对象调用代理类方法,实际上会转到invoke方法调用 sell.sell(); sell.ad(); } }
위 내용은 Java에서 프록시 클래스를 동적으로 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!