zl程序教程

您现在的位置是:首页 >  后端

当前栏目

java实现非法访问异常示例

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);
                }
            }
        }
    }
}