动态代理·学习笔记
“嗨,阿米戈。”“你好,瑞希。”“今天我将向您解释一个非常有趣的新话题:动态代理”。“Java 有几种方法可以改变特定类的功能……”“第一个方法,传承。”“更改类行为的最简单方法是创建一个继承原始(基)类的新类,并覆盖其方法。然后,使用派生类而不是原始类。例如:”Reader reader = new UserCustomReader();“第二种方法是使用包装类。”"BufferedReader是这类类的一个例子。首先,它继承了Reader。换句话说,它可以代替 Reader 使用。其次,它将所有调用重定向到原始Reader对象,必须传递给 BufferedReader 对象的构造函数。 例如:”Reader readerOriginal = new UserCustomReader(); Reader reader = new BufferedReader(readerOriginal);“第三种方法是创建一个动态代理(Proxy)。”“Java 中有一个特殊的类 (java.lang.reflect.Proxy),它实际上允许您在程序执行期间(动态地)构造一个对象,而无需为其创建单独的类。”“这很容易做到:”Reader reader =(Reader)Proxy.newProxyInstance();“这对我来说已经是新鲜事了!”“但是当然,我们不需要没有方法的对象。我们需要对象有方法,我们需要它们来做我们想做的事情。Java为此使用了一个特殊的接口,称为 Invocati
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2449605.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!