我一直以为类的私有构造函数、属性、方法除了类自身其他类是无法访问的,前几天正好学习Spring框架,在学习Spring框架基础 Bean包时,写了一个简单的例子,类似如下:
package study.spring.bean;
public class SimpleBean
{
private String beanName;
private SimpleBean() {
System.out.println( " SimpleBean " );
}
/** */ /**
* @return Returns the beanName.
*/
public String getBeanName()
{
return beanName;
}
/** */ /**
* @param beanName The beanName to set.
*/
public void setBeanName(String beanName)
{
this .beanName = beanName;
}
}
发现居然也能调用成功,当时很惊讶,反射机制平时在以前的项目中也常使用,但不能构造只有私有构造函数的类。
自己做了一个简单例子:
package study.spring.bean;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;