首页 > 编程语言 > 详细

java反射

时间:2019-07-15 21:47:21      阅读:89      评论:0      收藏:0      [点我收藏+]

java反射

java反射机制

按照百度百科的解释,即:Java反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性。对于任何一个对象,我们都能够对它的方法和属性进行调用。我们把这种动态获取对象信息和调用对象方法的功能称之为反射机制。
技术分享图片

public class ReflectTest {

    public static void main(String[] args) throws Exception {
        //反射主要有以下几种方式
        //方式一
        Class aClass=Car.class;

        //方式二
        Class<?> aClass1 = Class.forName("com.rookie.bigdata.reflect.Car");
        //方式三
        ClassLoader contextClassLoader = Thread.currentThread().getContextClassLoader();
        Class<?> aClass2 = contextClassLoader.loadClass("com.rookie.bigdata.reflect.Car");


        Constructor<?> declaredConstructor = aClass2.getDeclaredConstructor();
        Car car = (Car) declaredConstructor.newInstance();

        Method setBrand = aClass2.getMethod("setBrand", String.class);
        setBrand.invoke(car,"宝马");
        Method setColor = aClass2.getMethod("setColor", String.class);
        setColor.invoke(car,"黑色");
        System.out.println(car);


    }

}

Car

public class Car {
    private String brand;
    private String color;

    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;
    }

    @Override
    public String toString() {
        return "Car{" +
                "brand='" + brand + '\'' +
                ", color='" + color + '\'' +
                '}';
    }
}

反射相关的类
Class: 代表类的实体,在运行的Java应用程序中表示类和接口
Field: 代表类的成员变量(成员变量也称为类的属性)
Method: 代表类的方法
Constructor: 代表类的构造方法
可以参考相关类里面的方法

java反射

原文:https://www.cnblogs.com/haizhilangzi/p/11129195.html

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