java反射

2019-08-16 10:27:27来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

java反射

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: 代表类的构造方法
可以参考相关类里面的方法


原文链接:https://www.cnblogs.com/haizhilangzi/p/11129195.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java 将Word转为PDF、PNG、SVG、RTF、XPS、TXT、XML

下一篇:Java 网络编程初探