出现空指针异常的一种可能性是调用方法的对象为空
public class UI {
public void initUI() {
JFrame jf = new JFrame();
jf.setSize(900, 900);
jf.setTitle("空指针异常");
//居中显示
jf.setLocationRelativeTo(null);
//设置退出进程的方法
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setLayout(new FlowLayout());
//设置可见
jf.setVisible(true);
}
public static void main(String[] args){
UI ui = null ;
ui.initUI();
}
}
代码中的这里就会导致空指针异常,因为调用initui()方法的对象为null,对象本身为空,自然不能去调用方法,改正的方式也很简单,对象不为null就好了。
如果是在调用方法的参数中设置参数对象为空,在方法中不去使用该参数对象去调用其他方法,就不会出现空指针异常错误(因为没有去使用,对象空指针与否不影响程序的运行)。
public class UI {
public void initUI(JButton jbu) {
JFrame jf = new JFrame();
jf.setSize(900, 900);
jf.setTitle("空指针异常");
//居中显示
jf.setLocationRelativeTo(null);
//设置退出进程的方法
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jf.setLayout(new FlowLayout());
//设置可见
jf.setVisible(true);
}
public static void main(String[] args){
UI ui = new UI;
JButton jbu=null;
ui.initUI(jbu);
}
}
注意图中的按钮JButton对象,这样就是个错误示范,会报错的。(此代码为错误示范)