zoukankan      html  css  js  c++  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

  • 相关阅读:
    spring cloud 学习(Gateway)网关
    spring cloud 学习(Hystrix)熔断器
    spring cloud 学习(Feign)分布式配置中心
    老子道德经-帛书甲本
    重新执行mysql索引
    有关maven2路径
    关于Mysql含有blob字段的查询效率问题
    提交Json参数到Tomcat报400错误的问题
    不知道算不算mysql的漏洞
    JFinal项目中,如何连接两个不同版本的mysql数据库?
  • 原文地址:https://www.cnblogs.com/txwsqk/p/3816711.html
Copyright © 2011-2022 走看看