java实现非法访问异常示例
2023-06-13 09:15:18 时间
思路分析:
首先使用Class获得一个代表String类的类对象,然后使用Class类的getDeclaredFields()方法获得所有成员变量,并赋值给一个Field型数组,即得到String类的所有域。
使用foreach()循环遍历所有域,使用Field类的getName()方法获得该成员变量的名称,如果域的名字是hash,尝试使用Field类的getInt(Objectobj)方法获得指定对象中类型为int的该成员变量的值。
依次捕获IllegalArgumentException异常和IllegalAccessException异常。
代码如下:
importjava.lang.reflect.Field;
publicclassExceptionTest{
publicstaticvoidmain(String[]args){
Class<?>clazz=String.class; //获得代表String类的类对象
Field[]fields=clazz.getDeclaredFields();
for(Fieldfield:fields){ //遍历所有域
System.out.println(field);
if(field.getName().equals("hash")){ //如果域的名字是hash
try{
System.out.println(field.getInt("hash")); //输出hash的值
}catch(IllegalArgumentExceptione){ //捕获IllegalArgumentException异常
System.out.println(e);
}catch(IllegalAccessExceptione){ //捕获IllegalAccessException异常
System.out.println(e);
}
}
}
}
}
相关文章
- java random函数原理_详解JAVA中Random()函数的用法
- java pfx_如何在Java中读取.pfx文件的内容?
- java redis锁_Java中Redis锁的实现[通俗易懂]
- java一个字符几个字节_Java 语言中一个字符占几个字节?
- java uuid 随机数_Java随机数和UUID[通俗易懂]
- 【说站】Java捕获异常的两种方法
- native2ascii java_Native2Ascii和Ascii2Native的Java实现
- Java 异常处理的误区和经验总结详解编程语言
- java面向对象(异常)详解编程语言
- MySQL封装之Java实现(mysql封装java)
- 实现Linux上的Java环境:从安装到配置(linux安装java环境)
- Java Connection.close()方法:关闭Connection对象
- Java监控MySQL性能:实现数据库运行优化(java监控mysql)
- 数据库实现Java程序与Oracle数据库的连接(java链接oracle)
- Java实现Redis分布式锁(java实现redis锁)
- 之间的交互Redis与Java实现交互的探索(redis和java)
- 服务器快速搭建Linux Java服务器,实现互联网应用(linux搭建java)
- 服务器是否开机Java检查Linux服务器开机状态(java判断linux)
- 使用Java实现Redis数据存储(redis集成java)
- 连接MySQL连接技术之Java实现(java的mysql)
- 使用Java连接MySQL实现查询功能(java连接mysql查询)
- 使用Java远程控制Linux 实现简单、高效的服务器管理(java控制linux)
- 使用Java实现MySQL数据恢复操作(java恢复mysql)
- 在Linux上实现Java程序的运行(linux运行java程序)
- Linux测试搭配Java快速实现稳定性验证(linux测试java)
- 客户端Java客户端快速关闭Redis连接(关闭redis的java)
- 利用Redis锁实现Java程序并发控制(redis锁java实现)