如何处理NullPointerException JAVA空指针异常实例1

实例项目:画图板
在模仿XP系统的画图板的实例中,学习到了如何处理 NullPointerException。
接下来我们通过getGraphics()这个方法来更直观的了解空指针异常。
建立一个画图板的项目,首先是 继承JFrame父类来创建一个窗口,代码很简单,要想显示出窗口,肯定少不了this.setVisible(true)这行代码。
我们在获取画板 Graphics g = this.getGraphics()之后,再打印 g. 很有可能出现空指针异常,g = null.

为什么会出现空指针异常?这是因为 Graphics g = this.getGraphics()这行代码很有可能写在了 this.setVisible(true)之前。
在API中介绍getGraphics()方法说,如果组件当前是不可显示的,则此方法返回 null。

在这个类中,将g传参,MouseListener mouse_listener = new MymouseListener(g)
传到另外一个类中,设置全局变量g
private Graphics g。
构造方法public void MymouseListener(Graphics g){g = g}
然后在输出g,还是会出现空指针异常,g=null.
我们很理想的认为,将形参赋值给实参,然后用实参调用函数,这只是我们的假想。
其实真正运行的内容在代码里显示为 形参赋值形参。输出为实参,实参g定义为null.
解决办法,将形参名字更改为gr 或者 this.g=g

你可能感兴趣的:(java,空指针异常)