java的反射机制使用方法

陌路散爱 提交于 2019-11-28 05:41:17

 什么是反射?

  Java反射说的是在运行状态中,对于任何一个类,我们都能够知道这个类有哪些方法和属性。对于任何一个对象,我们都能够对它的方法和属性进行调用。我们把这种动态获取对象信息和调用对象方法的功能称之为反射机制。

  反射的三种方式:

方式一:利用对象获取类--------------不推荐(已经获取到对象,再用反射意义不大)

public static void main(String[] args) {
        Person person = new Person();
        Class<?> c =   person.getClass();
        System.out.println(c.getName());
    }

方式二:利用类名获取类--------------不推荐(需要对象的包,依赖性太强)

public static void main(String[] args) {
        Class<?> c =   Person.class;
        System.out.println(c.getName());
    }

方式三:利用类的全路径名获取-------------------推荐

本文主要就是讲述方式三,通过类的全路径名去获取并操作类中的方法,字段等:

实体类代码如下:----本文中主要就是获取并操作这个实体类中的字段和方法

package com.xnrd.common.base;

public class Person {
    public String height;
    
    public Double weight;
    
    private int  age;
    
    
    
    public Person() {
        super();
    }

    public Person(int age) {
        super();
        this.age = age;
    }

    
    public Person(Double weight, int age) {
        super();
        this.weight = weight;
        this.age = age;
    }


        
    private Person(String height, int age) {
        super();
        this.height = height;
        this.weight = weight;
        this.age = age;
    }


    public Person(String height, Double weight, int age) {
        super();
        this.height = height;
        this.weight = weight;
        this.age = age;
    }

    public String getHeight() {
        return height;
    }

    public void setHeight(String height) {
        this.height = height;
    }


    public Double getWeight() {
        return weight;
    }

    public void setWeight(Double weight) {
        this.weight = weight;
    }


    public int getAge() {
        return age;
    }




    public void setAge(int age) {
        this.age = age;
    }

    //自定义几个方法
    public void methodOne(String str) {
        System.out.println("您吃饭了吗?");
    }
    
    private void methodTwo() {
        System.out.println("我吃了?");
    }

    String methodThree(String height, Double weight,int age) {
        System.out.println("我是第三个方法!");
        return height+ weight+ age;
    }
    
    protected void methodFour() {
        System.out.println("我是第四个方法!");
    }
    
    public static void main(String[] args) {
        System.out.println("Person的main方法执行成功!");
    }
}
View Code

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!