package cn.com.liheng.entity;
import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public class Test {
public static void main(String[] args) throws Exception {
//创建添加路径的地址对话框
String cla=JOptionPane.showInputDialog("请输入完整路径:");
//反射forName方法;
Class cla=Class.forName("cn.com.liheng.entity.User");
//查看属性;
Field[] fil=cla.getDeclaredFields();
//增强循环遍历属性;
for (Field fue:fil) {
//打印属性方法;
System.out.println(fue.toString());
}
System.out.println("===========================================");
//查看方法;
Method[] met=cla.getDeclaredMethods();
//增强循环遍历方法;
for (Method meth:met) {
//打印解析详细方法;
System.out.println(meth.toString());
}
System.out.println("++++++++++++++++++++++");
//查看无参数构造方法;
Constructor[] con=cla.getDeclaredConstructors();
//增强循环遍历构造方法;
for (Constructor jjj:con) {
//打印解析构造方法;
System.out.println(jjj.toString());
}
System.out.println("------------------+++++++++++++++++");
//改变值;
//类点对象;
Class cl=User.class;
//new一个类的实例;
User ue=new User();
//改变属性的值;
Field fie=cl.getDeclaredField("name");
//把私有属性改变成公共属性;
fie.setAccessible(true);
//给属性赋值,第一个参数是对象的实例,第二个是新的值;
fie.set(ue, "jksdf");
//打印解析属性的值;
System.out.println(fie.toString());
System.out.println("_____________________________");
//改变某个方法的属性的值;
Method me=cl.getDeclaredMethod("na", String.class,int.class);
//把私有方法改变成公共方法;
me.setAccessible(true);
//接收方法的值可以是方法的返回值类型也可以是所有类的父类 ;
//参数1是对象实例2是参数类型的新值;
Object st=me.invoke(ue, "jfdf",12);
//解析打印新的方法属性值;
System.out.println(st.toString());
}
}
分享到:
相关推荐
互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术,人工智能互联网资讯,技术简介,IT、AI技术...
西门子PLC博途三种自动流程程序写法详解:SCL Case语录与梯形图编程实例,视频辅助教学,西门子PLC博途三种自动流程程序写法详解:SCL Case语录与梯形图编程实例,附视频解说,轻松掌握!,西门子PLC博途3种自动流程...
西门子PLC博途三种自动流程程序写法详解:SCL Case语录与梯形图编程实例,附视频解说,西门子PLC博途三种自动流程程序写法详解:SCL Case语录与梯形图编程实例,附视频解说,西门子PLC博途3种自动流程程序写法 本案例...
Java反射机制是一种强大的编程特性,它允许程序在运行状态中访问和操作类的属性和方法。这种机制为程序提供了极大的灵活性,但也需要开发者对Java语言和面向对象编程有深入的理解。在进行反射操作时,开发者可以通过...
【网络新闻体裁及其写法详解】 网络新闻作为信息传播的重要载体,其撰写方式和体裁对于吸引读者、传递信息至关重要。以下将详细介绍几种常见的网络新闻体裁以及它们的写作要点。 1. **快讯(快评)** 快讯通常是...
在Android开发中,接口回调是实现组件间通信的常见方式,尤其在异步操作中,如网络请求、数据加载等。然而,传统的接口回调方式可能会导致代码结构复杂,难以维护,因此开发者通常会寻求优化策略。...
下面详解如何生成这个.d文件。 (二) gcc/g++编译器有一个-MM选项,可以对某个.c/.cpp文件,分析其依赖的源文件,例如假定main.c的内容为: #include <stdio.h>//标准头文件(以方式包含的),被-MM选项忽略,被-M...
下面将详细解释Spring框架中切入点表达式的常用写法。 1. **execution()指示符**: - `execution()`是Spring中最常用的切入点指示符,用于匹配方法执行。 - 语法结构:`execution(modifiers-pattern? ret-type-...
"MyBatis分页绝对路径写法过程详解" MyBatis是一款优秀的持久层框架,它提供了许多强大的功能,其中包括了分页功能。分页功能可以极大地提高查询效率,减少数据传输量,提高用户体验。在本文中,我们将详细介绍...
ionic图片懒加载的简单例子,用网上常用的两种js
在Android开发中,接口回调是一种常见的通信机制,用于在组件之间传递信息,特别是在异步操作中,如网络请求、文件读写等。接口回调能够帮助我们处理这些操作的结果,使得程序更加灵活和响应式。本篇文章将深入讲解...
开发过程中,props 的使用有两种写法: // 字符串数组写法 const subComponent = { props: ['name'] } // 对象写法 const subComponent = { props: { name: { type: String, default: 'Kobe Bryant' } } }...
文中还提供了具体的代码示例和注意事项,如状态切换加硬件信号反馈、急停复位机制和超时报警设置等。 适合人群:从事PLC自动控制系统的工程师和技术人员,尤其是熟悉西门子博途平台的用户。 使用场景及目标:帮助...
以下是对日语简历模板及其写法的详细说明: 1. **基本信息**: - 氏名(姓名):清晰地写出全名,并提供对应的读音(ふりがな)。 - 生年月日:注明出生日期,例如明治、大正、昭和、平成年号。 - 性别:用“男...
以下是一些Pythonic的写法详解: 1. **链式比较操作**: 在Python中,可以将多个比较操作合并成一条链式比较,如`18 ,这比分开的`if`条件更加简洁。 2. **三目运算符**: Python的`if/else`表达式可以写成一行...
C++ 中strcpy标准写法实例详解 C++ 中strcpy函数是字符串拷贝的标准函数,用于将源字符串拷贝到目标字符串中。本文将详细介绍C++ 中strcpy标准写法实例详解,包括六种不同的strcpy实现方式,每种方式都有其特点和优...
我们编写js代码时经常遇到复杂逻辑判的情况,通常大家可以用if/else或者switch来实现多个条件判断,但这样会有个问题,随着逻辑复杂度的增加,代码中的if/else/switch会变得越来越臃肿,越来越看不懂,那么如何更...
代码中包含的方法有如下 : 1. 创建一个Person实体类 2. 反射获取Class类对象的三种方法 ... 4.3无参构造简便写法 5.反射获取成员方法 5.1无参方法 5.2 有参方法 5.3 获取所有方法(包含Object的方法)
以下是这两种写法的详细解释: ### 1. 不使用GCD的单例模式 ```objc // ServiceManager.h #import @interface ServiceManager : NSObject + (instancetype)defaultManager; @end ``` ```objc // ...
Java反射机制是Java编程语言中的一个重要特性,它允许程序在运行时动态地获取类的信息并进行操作。反射机制使得开发者可以在不知道具体类名的情况下,通过字符串形式的类名来访问和操作类的属性、方法和构造器。这在...