java实现非法访问异常示例
程序员文章站
2024-02-25 20:18:21
思路分析:
首先使用class获得一个代表string类的类对象,然后使用class类的getdeclaredfields()方法获得所有成员变量,并赋值给一个field...
思路分析:
首先使用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实现克隆的三种方式实例总结
下一篇: 利用Java实现zip压缩/解压缩