利用反射获取Java类中的静态变量名及变量值的简单实例
作者:jingxian 发布时间:2022-12-09 17:56:06
标签:java,反射,静态变量,变量值
JAVA可以通过反射获取成员变量和静态变量的名称,局部变量就不太可能拿到了。
public class Test {
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
//获取所有变量的值
Class clazz = Class.forName("com.qianmingxs.ScoreTable");
Field[] fields = clazz.getFields();
for( Field field : fields ){
System.out.println( field.getName() + " " +field.getInt(clazz) );
}
//获取单个变量的值
/*Class clazz = Class.forName("com.qianmingxs.ScoreTable");
Field field = clazz.getField("FIVE");
System.out.println( field.getInt(clazz));*/
}
}
其中要查看的Java类是:
public class ScoreTable {
private ScoreTable() {}
public final static int FIVE = 100;//成5
public final static int DOUBLE_ALIVE_FOUR = 99;//双活4(分析对手用)
public final static int ALIVE_FOUR_AND_DEAD_FOUR = 98;//活4死4(对手分析用)
public final static int ALIVE_FOUR_AND_ALIVE_THREE = 96;//活4活3(分析对手用)
public final static int ALIVE_FOUR_AND_DEAD_THREE = 95;//活4死3(分析对手用)
public final static int ALIVE_FOUR_AND_ALIVE_TWO = 94;//活4活2
public final static int ALIVE_FOUR = 93;//活4
public final static int DOUBLE_DEAD_FOUR = 92;//双死4
public final static int DEAD_FOUR_AND_ALIVE_THREE = 91;//死4活3
public final static int DEAD_FOUR_AND_ALIVE_TWO = 90;//死4活2
public final static int DOUBLE_ALIVE_THREE = 80;//双活3
public final static int ALIVE_THREE_AND_DEAD_THREE = 70;//活死3
public final static int HALF_ALIVE_FOUR = 65;//半活4(类似○○ ○形),优先级小于活4
public final static int ALIVE_THREE = 60;//活3
public final static int DEAD_FOUR = 50;//死4
public final static int DOUBLE_ALIVE_TWO = 40;//双活2
public final static int DEAD_THREE = 30;//死3
public final static int ALIVE_TWO = 20;//活2
public final static int DEAD_TWO = 10;//死2
public final static int SINGLE = 0;//单个
}


猜你喜欢
- 本文实例讲述了Android编程实现全局获取Context及使用Intent传递对象的方法。分享给大家供大家参考,具体如下:一、全局获取 C
- Java的最基本的同步方式,即使用synchronized关键字来控制一个方法的并发访问。 每一个用synchronized关键字声明的方法
- 初步计划:或许由于个人原因,排球计分系统在假期就完成了,一直未写博客,就这样一直在推就是不想写,在加上过完年就工作了,可能刚实习工作比较紧所
- 前言当线程池的线程阻塞时,线程池会创建额外的线程,而创建、销毁和调度线程所需要相当昂贵的内存资源,另外,很多的开发人员看见自己程序的线程没有
- 线程中run()和start()的区别:对于Thread对象来说,当你调用的是start(),线程会被放到等待队列,等待CPU调度,不一定马
- mybatis-plus想要修改某字段为null问题场景使用mybatis + mybatisPlus进行修改某字段,想要将其设为null,
- 目录Shiro简介Shiro快速入门SpringBoot-Shiro整合(最后会附上完整代码)附上最后的完整代码Shiro整合mybatis
- 一、面向对象的描述面向对象是一种现在最为流行的程序设计方法,几乎现在的所有应用都以面向对象为主了,最早的面向对象的概念实际上是由IBM提出的
- 上一篇文章讲的是Java实现两人五子棋游戏(二) 画出棋盘,已经画好棋盘,接下来要实现控制功能,主要功能:1)选择棋子2)画棋子3)判断胜负
- 今天突发奇想,想做一个智能拼图游戏来给哄女友。需要实现这些功能第一图片自定义第二宫格自定义,当然我一开始就想的是3*3 4*4 5*5,没有
- RocketMq消息处理RocketMq消息处理整个流程如下:本系列RocketMQ4.8注释github地址,希望对大家有所帮助,要是觉得
- 网上的解决方法:这个是从网上看来的file-->setting-->plugins,搜索tomcat然后install之后会提示
- 分页插件  MP中自带了分页插件的功能,只需要在配置类中进行简单的配置即可使用分页的相关功能。分页插件常
- 由于项目需要做一些图形展示,所以就想到了使用Directx和OpenGL来绘图,但项目准备使用C#来开发(大家比较熟悉C#),在网上看了相关
- Intellij是进行scala开发的一个非常好用的工具,可以非常轻松查看scala源码,当然用它来开发Java也是很爽的,之前一直在用sc
- 之前在项目中会用到在Java在后台把数据填入Word文档的模板来提供前台下载,为了自己能随时查看当时的实现方案及方便他人学习我写了这篇博客,
- 本文实例为大家分享了C语言实现中国象棋的具体代码,供大家参考,具体内容如下运行截图实现思路老套路,二维数组存储棋盘,宏定义各种棋子,每次棋子
- 前言继上次skywalking出故障《解析Arthas协助排查线上skywalking不可用问题》不到一个月,线上skywalking又出毛
- 本文介绍如何通过C#程序代码方法将XML文件转换为Word文档,包括转为.doc /.docx等格式。并附VB.NET代码,有需要可供参考。
- import java.io.ByteArrayInputStream; import java.io.FileOutputSt