java反射小demo

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yw_1207/article/details/88535260

        前一段时间也不知道干啥了,反正很久没看博客了,这一段时间准备复习点java的知识点,也不知道从哪里开始,我就随波逐流,随便写点东西吧,毕竟学习这种东西,靠的是坚持!!!/淫笑

       今天写写反射:

package com.hxkj.util;

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;

public class demo {
	public static void main(String[] args) {
		Class<?> clazz;
		Constructor<?>[] constructors;
		try {
			clazz = Class.forName("com.hxkj.util.Demo");
			Constructor<?> constructor = clazz.getConstructor(String.class,int.class);
//			Object obj = clazz.newInstance();
			Object obj = constructor.newInstance("ello World,this is Instance by getConstructor",1);
			Method method = clazz.getMethod("aa", String.class,int.class);
			Object invoke = method.invoke(obj, "小明",11);
			System.out.println(invoke);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
}

反射的类

package com.hxkj.util;


/**
 * 创建人:yw
 * 创建时间:2019年3月13日
 * @version
 */
public class Demo {
	private String a;
	private int b;
	public FileUpload(String a,int b){
		this.a=a;
		this.b=b;
		System.out.println(a+b);
	}

	public String aa(String c,int d){
		System.out.println(a+":"+b+"   搞定了");
		System.out.println(c+"   差不多   "+d+"  我也完事了");
		return "ok";
	}
}

圈出来的这两句是:

通过类对象调用newInstance()方法,适用于无参构造方法:

如:String.class.newInstance()

通过类对象的getConstructor()或getDeclaredConstructor()方法获得构造器(Constructor)对象并调用其newInstance()方法创建对象,适用于无参和有参构造方法。

例如:String.class.getConstructor(String.class).newInstance(“Hello World,this is Instance by getConstructor”);

所以上面可以根据需求随意切换,但是一般都用圈出来的那两句,有参的时候就添加上,无参的时候就不写东西就完了!

而且这个例子也很好理解!

就这样吧,打完收工!!!
 

猜你喜欢

转载自blog.csdn.net/yw_1207/article/details/88535260
今日推荐