java实现非法访问异常示例
思路分析:
首先使用Class获得一个代表String类的类对象,然后使用Class类的getDeclaredFields()方法获得所有成员变量,并赋值给一个Field型数组,即得到String类的所有域。使用foreach()循环遍历所有域,使用Field类的getName()方法获得该成员变量的名称,如果域的名字是hash,尝试使用Field类的getInt(Object obj)方法获得指定对象中类型为int的该成员变量的值。依次捕获IllegalArgumentException异常和IllegalAccessException异常。代码如下:
代码如下:
import java.lang.reflect.Field;public class ExceptionTest { public static void main(String[] args) { Class<?> clazz = String.class; //获得代表String类的类对象 Field[] fields = clazz.getDeclaredFields(); for (Field field : fields) { //遍历所有域 System.out.println(field); if (field.getName().equals("hash")) { //如果域的名字是hash try { System.out.println(field.getInt("hash")); // 输出hash的值 } catch (IllegalArgumentException e) { //捕获IllegalArgumentException异常 System.out.println(e); } catch (IllegalAccessException e) { //捕获IllegalAccessException异常 System.out.println(e); } } } }}
以上是 java实现非法访问异常示例 的全部内容, 来源链接: utcz.com/p/207328.html