java的反射机制使用方法

Posted zblwyj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的反射机制使用方法相关的知识,希望对你有一定的参考价值。

 什么是反射?

  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

 

以上是关于java的反射机制使用方法的主要内容,如果未能解决你的问题,请参考以下文章

java反射机制

java 中反射机制和内省机制的区别是啥?

Java Reflection (JAVA反射)机制详解

如何利用java的反射机制动态创建对象

Java反射机制详解

Java反射机制详解