首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

java 反射getmethod_Java 反射机制中 getMethod()和getDeclaredField()区别

今天在程序中用到java反射机制时,遇到的问题记录一下:我当时遇到的问题是,我用反射getMethod()调用类方法时,发生 NoSuchMethodException异常,后来上网发现getMethod()调用公共方法,不能反射调用私有方法,后来找到 getDeclaredField()能够访问本类中定义的所有方法。后来用这个方法解决了我遇到的问题。我查了java api文档,其中详细说明如下: Method getDeclaredMethod(String name, Class… parameterTypes)d 返回一个 Method 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明方法。 Method[] getDeclaredMethods() 返回 Method 对象的一个数组,这些对象反映此 Class 对象表示的类或接口声明的所有方法,包括公共、保护、默认(包)访问和私有方法,但不包括继承的方法。 Method getMethod(String name, Class… parameterTypes) 返回一个 Method 对象,它反映此 Class 对象所表示的类或接口的指定公共成员方法。 Method[] getMethods() 返回一个包含某些 Method 对象的数组,这些对象反映此 Class 对象所表示的类或接口(包括那些由该类或接口声明的以及从超类和超接口继承的那些的类或接口)的公共 member 方法。 getDeclaredField(String name) 返回一个 Field 对象,该对象反映此 Class 对象所表示的类或接口的指定已声明字段。 Field[] getDeclaredFields() 返回 Field 对象的一个数组,这些对象反映此 Class 对象所表示的类或接口所声明的所有字段,包括公共、保护、默认(包)访问和私有字段,但不包括继承的字段。

01

spring aop理解及使用:我想这回应该可以说清楚了吧

当我们剥开aop的外衣的时候,其实他的核心设计思想就是代理模式;spring中大量用到了代理模式;如果你不太了解代理模式,其实也不影响你对aop的使用;这里我举个生活中的例子,带你了解一下什么代理模式;当你在美团、饿了么点餐的时候,其实就是一个典型的代理模式,美团(代理对象)代理了餐馆(目标对象)将美食(方法)卖给你,同时对你的消费进行了增强(帮你配送、送你优惠券等);帮你配送、送你赠品并不是餐厅做的;而是美团(代理对象)做的;但是这一切并没有影响到你就餐、也没有影响餐厅对商品的销售;aop同样也使用的这个方式,在不影响目标对象的前提下对他的功能进行增强。

01

JAVA学习笔记(二)

设计模式 设计模式有23种,所有面向对象的语言都有这23种设计模式。 单例设计模式 单例:单个实例(对象) 步骤: 1.Test不能让别人创建对象 ---》Test构造方法变成私有的 (Test类不让创建对象了) 2.Test类自已创建自已的对象 (别人拿不了,因为Test不让创建对象,不能通过对象名.属性拿) 3.Test类对外提供一个公共的静态方法,让别人拿这个对象 (静态方法不能调用非静态变量) 4.Test类把这个对象变成静态变量 5.拿对象----》类名.方法名() 6.拿的对象是同一对象,指向的是同一内存地址。 保证对象唯一性思想: 1)不允许其它程序用new来创建对象 2)在该类创建一个本类实例 3)对外提供一个方法,让其它程序可以获取该对象

01
领券