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技术...
【网络新闻体裁及其写法详解】 网络新闻作为信息传播的重要载体,其撰写方式和体裁对于吸引读者、传递信息至关重要。以下将详细介绍几种常见的网络新闻体裁以及它们的写作要点。 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' } } }...
以下是对日语简历模板及其写法的详细说明: 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编程语言中的一个重要特性,它允许程序在运行时动态地获取类的信息并进行操作。反射机制使得开发者可以在不知道具体类名的情况下,通过字符串形式的类名来访问和操作类的属性、方法和构造器。这在...
本文将深入探讨JavaScript的一些非传统写法,帮助你提升代码的趣味性和效率。 首先,让我们来看看匿名函数的不同写法。匿名函数在JavaScript中是没有指定名称的自执行函数,通常写作`(function(){})();`。在实际...
### 常见数学符号读音及写法详解 在数学、物理以及工程学科中,希腊字母被广泛地用于表示各种变量和常数。本文将详细介绍一些常用的希腊字母及其读音、写法,并解释它们在不同领域中的含义。 #### 1. Α α (Alpha...
学习msp432,一些例子,寄存器级的写法.zip