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

回到顶部