Java反射机制访问类私有方法和变量
背景
利用Java的反射机制,可以得到运行时的类信息(RTTI),与传统RTTI不同的是,反射可以在运行时才得到.class文件,从而打开和检查.class文件,所有Java的反射具有很强的灵活性。反射提供了一种机制——用来检查可用的方法,并返回方法名,当然也可用得到域变量成员等其他信息。通过反射机制获得变量的私有方法和变量理论上是可行的,而且步骤非常简单,本文将结合Java代码进行介绍。
1. 类结构
class Food{
private String foodname;
Food(String foodname){
this.foodname = foodname;
}
private void f(){
System.out.println("private Food Method");
}
}
class Cake extends Food{
private String privateCakeName;
public String publicCakeName;
Cake(String priName, String pubName, String superName){
super(superName);
privateCakeName = priName;
publicCakeName = pubName;
}
private void g(){
System.out.println("private Cake Method");
}
public void h()