首页 > 代码库 > java反射小例子

java反射小例子

package com.txwsqk.reflect;public class Car {	private String brand;	private String color;	private int maxspeed;		public Car(){}	public Car(String brand, String color, int maxspeed){				this.brand = brand;		this.color = color;		this.maxspeed = maxspeed;	}		public void intruduce(){		System.out.println("brand "+brand+" color: "+color+" maxspeed: "+maxspeed);	}		public String getBrand() {		return brand;	}	public void setBrand(String brand) {		this.brand = brand;	}	public String getColor() {		return color;	}	public void setColor(String color) {		this.color = color;	}	public int getMaxspeed() {		return maxspeed;	}	public void setMaxspeed(int maxspeed) {		this.maxspeed = maxspeed;	}	}

 主函数

package com.txwsqk.reflect;import java.lang.reflect.Constructor;import java.lang.reflect.Method;public class CarTest {	public static Car initByDefaultConst() throws Throwable{		ClassLoader loader = Thread.currentThread().getContextClassLoader();		Class<?> clazz = loader.loadClass("com.txwsqk.reflect.Car");		Constructor<?> cons = clazz.getDeclaredConstructor((Class[])null);		Car car = (Car) cons.newInstance();				Method setBrand = clazz.getMethod("setBrand", String.class);		setBrand.invoke(car, "BMW");		Method setColor = clazz.getMethod("setColor", String.class);		setColor.invoke(car, "red");		Method setMaxspeed = clazz.getMethod("setMaxspeed", int.class);		setMaxspeed.invoke(car, 150);		return car;			}	public static void main(String[] args) throws Throwable {		Car car = initByDefaultConst();		car.intruduce();	}}

 输出:

brand BMW color: red maxspeed: 150