什么是反射?
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方法执行成功!"); } }
原文地址:https://www.cnblogs.com/zblwyj/p/11394750.html
时间: 2024-10-29 16:30:41