记一次Java反射以及演示在设置暴力反射权限后,如何获取和设置给指定私有的属性赋值

时间:2021-04-29 12:12:58   收藏:0   阅读:0

文档底部附上它处反射总结以及暴力反射的演示
说明:以下代码没问题能运行,但还有部分内容没学完,较为潦草。此文分为Person类和reflectDemo2 两个类。

------------------------------------ 代码分割线 -----------------------------------------
package com.itcast.domain;

public class Person {
private String name;
private int age;

public String a;
protected String b;
String c;
private String d;

public String getD() {
    return d;
}
public void setD(String d) {
    this.d = d;
}

public Person() {
}

public Person(String name, int age, String d) {
    this.name = name;
    this.age = age;
    this.d = d;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getAge() {
    return age;
}

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

@Override
public String toString() {
    return "Person{" +
            "name=‘" + name + ‘\‘‘ +
            ", age=" + age +
            ", a=‘" + a + ‘\‘‘ +
            ", b=‘" + b + ‘\‘‘ +
            ", c=‘" + c + ‘\‘‘ +
            ", d=‘" + d + ‘\‘‘ +
            ‘}‘;
}

}

---------------------------------- 代码分割线 ---------------------------------------------
package com.itcast.reflect;

import com.itcast.domain.Person;

import java.lang.reflect.Field;
import java.lang.reflect.Method;

//@SuppressWarnings("ALL")
public class reflectDemo2 {
/**

Constructor getDeclaredConstructor(类<?>... parameterTypes)
返回一个 Constructor对象反映指定的构造函数的类或接口的 类对象表示。
Constructor<?>[] getDeclaredConstructors()
返回 Constructor物体反射所有的构造函数通过 类对象表示的类中声明一个数组。

方法 getDeclaredMethod(String name, 类<?>... parameterTypes)
返回一个 方法对象反映指定声明方法的类或接口的 类对象表示。
方法[] getDeclaredMethods()
返回一个数组包含 方法物体反射所有声明的方法的类或接口的 类对象,代表包括公众、保护,默认(包)的访问,和私有方法,但不包括继承的方法。

// * 2、获取构造方法们
// Constructor getConstructor(类<?>... parameterTypes)
// Constructor<?>[] getConstructors()
//
// Constructor getDeclaredConstructor(类<?>... parameterTypes)
// Constructor<?>[] getDeclaredConstructors()
//
// * 3、获取成员方法
// 方法 getMethod(String name, 类<?>... parameterTypes)
// 方法[] getMethods()
//
// 方法 getDeclaredMethod(String name, 类<?>... parameterTypes)
// 方法[] getDeclaredMethods()
//
// * 4、获取类名
// String getName()
//
}

}


链接:https://blog.csdn.net/wildwolf_001/article/details/79726870

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!