package com.test;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
public class CarReflect {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
try {
ClassLoader carLoader = Thread.currentThread()
.getContextClassLoader();
Class<?> clazz = carLoader.loadClass("com.test.Car");
Constructor<Car> con = (Constructor<Car>) clazz
.getConstructor((Class[]) null);
Car car = (Car) con.newInstance();
Method method = clazz.getMethod("setCarName", String.class);
method.invoke(car, "宝马");
System.out.println(car.getCarName());
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
class Car {
private double price;
private String brand;
private String carName;
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getCarName() {
return carName;
}
public void setCarName(String carName) {
this.carName = carName;
}
}
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
public class CarReflect {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
try {
ClassLoader carLoader = Thread.currentThread()
.getContextClassLoader();
Class<?> clazz = carLoader.loadClass("com.test.Car");
Constructor<Car> con = (Constructor<Car>) clazz
.getConstructor((Class[]) null);
Car car = (Car) con.newInstance();
Method method = clazz.getMethod("setCarName", String.class);
method.invoke(car, "宝马");
System.out.println(car.getCarName());
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
class Car {
private double price;
private String brand;
private String carName;
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getCarName() {
return carName;
}
public void setCarName(String carName) {
this.carName = carName;
}
}