博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java 反射基础
阅读量:6226 次
发布时间:2019-06-21

本文共 1638 字,大约阅读时间需要 5 分钟。

hot3.png

package test.reflect;import java.lang.annotation.Annotation;import java.lang.reflect.Method;public class reflect {		public static void main(String[] args) {			try {				// 实例化类
Object obj = Animal.class.newInstance();				String[] str = new String[]{};																/**				 * 获取方法名称				 */				Method[] m=obj.getClass().getDeclaredMethods();								for (Method method : m) {										Annotation[] an= method.getAnnotations();					for (Annotation annotation : an) {						System.out.println("方法"+method.getName()+"的注解为:"+annotation);					}										/**					 * 获取每一个方法中的参数					 */					Class[] paramTypes= method.getParameterTypes();										for (Class class1 : paramTypes) {						System.out.println("方法"+method.getName()+"的参数类型为:"+class1.getName());					}					System.out.println("方法名称:"+method.getName());				}								/**				 * 数组类型 的话类名前有[L				 */				Class paramClass = Class.forName("[Ljava.lang.String;");				String[] param = { "大象", "猴子", "人", "猫" };				/**				 * 反射获取类中的方法				 */				Method method = Animal.class.getMethod("setAnimal", paramClass);				method.invoke(obj, (Object) param);								 method = Animal.class.getMethod("getAnimal");				 String[] get= (String[]) method.invoke(obj);				// 取值								for (int i = 0; i < get.length; i++) {					System.out.println(get[i]);				}				System.out.println();			} catch (Exception e) {				e.printStackTrace();			}		}	} class Animal {	private String[] animal;	public String[] getAnimal() {		return animal;	}	@Deprecated	public void setAnimal(String[] animal) {		this.animal =animal;	}		private void eat(){		System.out.println("eat what?");	}}

转载于:https://my.oschina.net/u/272065/blog/148549

你可能感兴趣的文章
StringBuilder用法小结
查看>>
对‘初学者应该选择哪种编程语言’的回答——计算机达人成长之路(38)
查看>>
如何申请开通微信多客服功能
查看>>
Sr_C++_Engineer_(LBS_Engine@Global Map Dept.)
查看>>
非监督学习算法:异常检测
查看>>
jquery的checkbox,radio,select等方法总结
查看>>
Linux coredump
查看>>
Ubuntu 10.04安装水晶(Mercury)无线网卡驱动
查看>>
Myeclipes快捷键
查看>>
我的友情链接
查看>>
ToRPC:一个双向RPC的Python实现
查看>>
我的友情链接
查看>>
nginx在reload时候报错invalid PID number
查看>>
神经网络和深度学习-第二周神经网络基础-第二节:Logistic回归
查看>>
Myeclipse代码提示及如何设置自动提示
查看>>
c/c++中保留两位有效数字
查看>>
ElasticSearch 2 (32) - 信息聚合系列之范围限定
查看>>
VS2010远程调试C#程序
查看>>
[MicroPython]TurniBit开发板DIY自动窗帘模拟系统
查看>>
由String类的Split方法所遇到的两个问题
查看>>