1700447992
int[][]ints=(int[][])Array.newInstance(int.class,2,3);
1700447993
1700447994
因为数组比较特殊,要想动态创建和访问数组,基本的反射是无法实现的,“上帝对你关闭一扇门,同时会为你打开另外一扇窗”,于是Java就专门定义了一个Array数组反射工具类来实现动态探知数组的功能。
1700447995
1700447996
注意 通过反射操作数组使用Array类,不要采用通用的反射处理API。
1700447997
1700447998
1700447999
1700448000
1700448002
编写高质量代码:改善Java程序的151个建议 建议106:动态代理可以使代理模式更加灵活
1700448003
1700448004
Java的反射框架提供了动态代理(Dynamic Proxy)机制,允许在运行期对目标类生成代理,避免重复开发。我们知道一个静态代理是通过代理主题角色(Proxy)和具体主题角色(Real Subject)共同实现抽象主题角色(Subject)的逻辑的,只是代理主题角色把相关的执行逻辑委托给了具体主题角色而已,一个简单的静态代理如下所示:
1700448005
1700448006
//抽象主题角色
1700448007
1700448008
interface Subject{
1700448009
1700448010
//定义一个方法
1700448011
1700448012
public void request();
1700448013
1700448014
}
1700448015
1700448016
//具体主题角色
1700448017
1700448018
class RealSubject implements Subject{
1700448019
1700448020
//实现方法
1700448021
1700448022
public void request(){
1700448023
1700448024
//业务逻辑处理
1700448025
1700448026
}
1700448027
1700448028
}
1700448029
1700448030
//代理主题角色
1700448031
1700448032
class Proxy implements Subject{
1700448033
1700448034
//要代理哪个实现类
1700448035
1700448036
private Subject subject=null;
1700448037
1700448038
//默认被代理者
1700448039
1700448040
public Proxy(){
1700448041
[
上一页 ]
[ :1.700447992e+09 ]
[
下一页 ]