反射修改私有成员变量  
 
public  class  Homework01  { 
    public  static  void  main ( String [ ]  args)  throws  IllegalAccessException ,  InstantiationException ,  NoSuchFieldException ,  NoSuchMethodException ,  InvocationTargetException  { 
        
        
        Class < PrivateTest >   privateTestClass =  PrivateTest . class ; 
        
        PrivateTest  privateTestObj =  privateTestClass. newInstance ( ) ; 
        
        Field  name =  privateTestClass. getDeclaredField ( "name" ) ; 
        
        name. setAccessible ( true ) ; 
        name. set ( privateTestObj,  "天龙八部" ) ; 
        
        Method  getName =  privateTestClass. getMethod ( "getName" ) ; 
        
        Object  invoke =  getName. invoke ( privateTestObj) ; 
        System . out. println ( "name属性值="  +  invoke) ; 
    } 
} 
class  PrivateTest  { 
    private  String  name =  "hellokitty" ; 
    
    public  String  getName ( )  { 
        return  name; 
    } 
} 
  
 反射和File  
 
public  class  Homework02  { 
    public  static  void  main ( String [ ]  args)  throws  ClassNotFoundException ,  NoSuchMethodException ,  IllegalAccessException ,  InvocationTargetException ,  InstantiationException  { 
        
        
        Class < ? >   fileCls =  Class . forName ( "java.io.File" ) ; 
        
        Constructor < ? > [ ]  declaredConstructors =  fileCls. getDeclaredConstructors ( ) ; 
        
        for  ( Constructor < ? >   declaredConstructor :  declaredConstructors)  { 
            System . out. println ( "File构造器="  +  declaredConstructor) ; 
        } 
        
        Constructor < ? >   declaredConstructor =  fileCls. getDeclaredConstructor ( String . class ) ; 
        String  fileAllPath =  "e:\\mynew.txt" ; 
        Object  file =  declaredConstructor. newInstance ( fileAllPath) ; 
        
        Method  createNewFile =  fileCls. getMethod ( "createNewFile" ) ; 
        createNewFile. invoke ( file) ; 
        
        System . out. println ( file. getClass ( ) ) ; 
        System . out. println ( "创建文件成功"  +  fileAllPath) ; 
    } 
}