版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014424628/article/details/50589827
已知代码如下
Bean.java
public class Bean {
private String beanName;
public String getBeanName() {
return beanName;
}
public void setBeanName(String beanName) {
this.beanName = beanName;
}
public Bean(String beanName) {
this.beanName = beanName;
}
}
BeanFactory.java
public class BeanFactory {
private static BeanFactory instance = new BeanFactory();
private static Bean bean = null;
public BeanFactory() {
bean = new Bean("mybean");
}
public static BeanFactory getInstance(){
return instance;
}
public static Bean getBean(){
return bean;
}
}
App.java
public class App {
public static void main(String[] args) {
Bean bean = BeanFactory.getInstance().getBean();
System.out.println(bean.getBeanName());
}
}
运行结果如下【1】
Exception in thread "main" java.lang.NullPointerException
at com.xy.factory_simple.App.main(App.java:6)
更改BeanFactory.java
public class BeanFactory {
private static BeanFactory instance = new BeanFactory();
private static Bean bean;
public BeanFactory() {
bean = new Bean("mybean");
}
public static BeanFactory getInstance(){
return instance;
}
public static Bean getBean(){
return bean;
}
}
运行结果如下【2】
mybean
更改BeanFactory.java
private static Bean bean = null;
private static BeanFactory instance = new BeanFactory();
public BeanFactory() {
bean = new Bean("mybean");
}
public static BeanFactory getInstance(){
return instance;
}
public static Bean getBean(){
return bean;
}
}
运行结果如下【3】
mybean