首页 > 编程语言 > 详细

java反射小例子

时间:2014-07-01 22:14:10      阅读:340      评论:0      收藏:0      [点我收藏+]
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

java反射小例子,布布扣,bubuko.com

java反射小例子

原文:http://www.cnblogs.com/txwsqk/p/3816711.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!