sample34_8.java
来自「Java SE 6.0前32-34章示的示例代码,简单易学」· Java 代码 · 共 44 行
JAVA
44 行
package wyf.jc;
import java.lang.reflect.*;
//自定义用来测试的类
class Employee
{
private String sname;//员工姓名
//私有方法
private void sayHello()
{
System.out.println("您好,我是"+sname
+",恭喜您成功访问了private的方法sayHello!!!");
}
}
//主类
public class Sample34_8
{
public static void main(String args[])
{
try
{
//创建Employee对象
Employee tom=new Employee();
//获取Employee类对应的Class对象
Class ec=tom.getClass();
//获取Employee类声明的成员变量对应的Field数组
Field[] fa=ec.getDeclaredFields();
//设置sname成员变量的访问限制为允许
fa[0].setAccessible(true);
//设置sname成员变量的值
fa[0].set(tom,"Tom");
//获取Employee类声明的方法对应的Method数组
Method[] ma=ec.getDeclaredMethods();
//设置所有方法的访问限制为允许
AccessibleObject.setAccessible(ma,true);
//调用sayHello方法
ma[0].invoke(tom,new Object[0]);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?