Removed abstractions to increase simplicity.

This commit is contained in:
Umang Budhwar 2020-06-10 23:23:29 +05:30
parent 566d795759
commit ba3bd78a10
1 changed files with 0 additions and 27 deletions

View File

@ -1,27 +0,0 @@
package com.baeldung.reflection.access.privatefields;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class AccessPrivateProperties {
public void accessPrivateFields(String declaredField, Object declaredFieldValue, boolean accessible) throws NoSuchFieldException, NullPointerException, IllegalArgumentException, IllegalAccessException {
Person person = new Person();
Field field = person.getClass()
.getDeclaredField(declaredField);
field.setAccessible(accessible);
field.set(person, declaredFieldValue);
System.out.println(person.getName());
}
public void accessPrivateMethods(String declaredMethod, Class<?> parameterType, Object name, boolean accessible) throws NoSuchMethodException, IllegalAccessException, NullPointerException, IllegalArgumentException, InvocationTargetException {
Person person = new Person();
Method method = person.getClass()
.getDeclaredMethod(declaredMethod, parameterType);
method.setAccessible(accessible);
String greetMessage = (String) method.invoke(person, name);
System.out.println(greetMessage);
}
}