//How Do I use reflection to get access to a private/protected field of a 
primitive array type,
//say byte [] ?

import java.lang.reflect.*;
import java.util.concurrent.*;
import java.util.*;


public class Reflection {


public static void main (String [] args) 
{
class Fred {
private int array [] = {1,2,3,4,5,6,7};
Fred()
{}
private int getNumber()
{ 
return 7;} 
}
class Thing extends Fred{
private Double item = 4.0;
Thing()
{}

private int getNumber()
{ 
return item.intValue();}
}

Fred fred = new Fred();

System.out.println();
Method [] methods = fred.getClass().getDeclaredMethods(); 
Field [] fields = fred.getClass().getDeclaredFields();
Field field =(Field) fields[0];

try {
field.setAccessible(true);
System.out.println(fred.getClass().getName());
System.out.println(field.getName());
System.out.println(field.getType());
System.out.println(field.get(fred));
}
catch (IllegalAccessException a)
{a.printStackTrace();}
System.out.println();

}
}


Reply via email to