2015 Reflection Question
public class User {
private final String username;
private final String password;
public User() {
this.username= "MTIT";
this.password = "password";
}
@Override
public String toString() {
return this.username + "/" + this.password;
}
public static void main(String[] args) {
try
{
User user=new User();
Class<?> clazz=user.getClass();
User user2=new User();
Class<?> clazz2=user2.getClass();
Field privateField=clazz.getDeclaredField("username");
privateField.setAccessible(true);
Field privateField2=clazz.getDeclaredField("password");
privateField2.setAccessible(true);
System.out.println("Username/Password = "+user.toString());
Field modifiedField=clazz.getDeclaredField("username");
modifiedField.setAccessible(true);
modifiedField.set(user,"darsh");
Field modifiedField2=clazz.getDeclaredField("password");
modifiedField2.setAccessible(true);
modifiedField2.set(user,"darsh");
System.out.println("Modified Username/Password = "+user.toString());
}
catch(NoSuchFieldException e)
{
e.printStackTrace();
}
catch(IllegalAccessException e)
{
e.printStackTrace();
}
}
}
No comments:
Post a Comment