码迷,mamicode.com
首页 > 编程语言 > 详细

java的反射机制使用方法

时间:2019-08-22 16:06:18      阅读:112      评论:0      收藏:0      [点我收藏+]

标签:show   动态   this   代码   font   pre   成功   三种方式   col   

 什么是反射?

  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的反射机制使用方法

标签:show   动态   this   代码   font   pre   成功   三种方式   col   

原文地址:https://www.cnblogs.com/zblwyj/p/11394750.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!