描述
這個java.lang.reflect.Proxy.isProxyClass(Class<?> cl)當且僅當使用 getProxyClass 方法或 newProxyInstance 方法將指定的類動態生成為代理類時,方法才返回 true。
聲明
以下是聲明java.lang.reflect.Proxy.isProxyClass(Class<?> cl)方法。
public static boolean isProxyClass(Class<?> cl)
參數
cl- 要測試的類。
返回
如果類是代理類,則為 true,否則為 false。
異常
NullPointerException- 如果 cl 為空。
示例
下麵的例子展示了 java.lang.reflect.Proxy.isProxyClass(Class<?> cl) 方法的用法。
package com.tutorialspoint;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
public class ProxyDemo {
public static void main(String[] args)
throws IllegalArgumentException, InstantiationException,
IllegalAccessException, InvocationTargetException,
NoSuchMethodException, SecurityException {
InvocationHandler handler = new SampleInvocationHandler() ;
Class proxyClass = Proxy.getProxyClass(
SampleClass.class.getClassLoader(), new Class[] { SampleInterface.class });
SampleInterface proxy = (SampleInterface) proxyClass.
getConstructor(new Class[] { InvocationHandler.class }).
newInstance(new Object[] { handler });
System.out.println(Proxy.isProxyClass(proxyClass));
proxy.showMessage();
}
}
class SampleInvocationHandler implements InvocationHandler {
@Override
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
System.out.println("Welcome to TutorialsPoint");
return null;
}
}
interface SampleInterface {
void showMessage();
}
class SampleClass implements SampleInterface {
public void showMessage(){
System.out.println("Hello World");
}
}
讓我們編譯並運行上麵的程序,這將產生以下結果 -
true Welcome to TutorialsPoint
相關用法
- Java java.lang.reflect.Proxy.newProxyInstance()用法及代碼示例
- Java java.lang.reflect.Proxy.getProxyClass()用法及代碼示例
- Java java.lang.reflect.Proxy.getInvocationHandler()用法及代碼示例
- Java java.lang.reflect.Array.get()用法及代碼示例
- Java java.lang.reflect.Field.setChar()用法及代碼示例
- Java java.lang.reflect.Array.getChar()用法及代碼示例
- Java java.lang.reflect.Field.getName()用法及代碼示例
- Java java.lang.reflect.Modifier.methodModifiers()用法及代碼示例
- Java java.lang.reflect.Field.setShort()用法及代碼示例
- Java java.lang.reflect.Constructor.equals()用法及代碼示例
- Java java.lang.reflect.Method.getGenericReturnType()用法及代碼示例
- Java java.lang.reflect.Modifier.interfaceModifiers()用法及代碼示例
- Java java.lang.reflect.Method.getDeclaredAnnotations()用法及代碼示例
- Java java.lang.reflect.Array.getInt()用法及代碼示例
- Java java.lang.reflect.Method.isBridge()用法及代碼示例
- Java java.lang.reflect.Field.toString()用法及代碼示例
- Java java.lang.reflect.Array.getFloat()用法及代碼示例
- Java java.lang.reflect.Field.getType()用法及代碼示例
- Java java.lang.reflect.AccessibleObject.getAnnotation()用法及代碼示例
- Java java.lang.reflect.Method.getDeclaringClass()用法及代碼示例
注:本文由純淨天空篩選整理自 java.lang.reflect.Proxy.isProxyClass() Method Example。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。