当前位置:  技术问答>java相关

請分析NullPointerException的產生原因?(付程序)

    来源: 互联网  发布时间:2015-04-16

    本文导语:  請深入分析一下其中的原因?謝謝 --------------------------------------------- import java.awt.*; import java.awt.event.*; class ButtonHandler implements ActionListener{ public void actionPerformed(ActionEvent e){ System.exit(0); } } public class TestButton...

請深入分析一下其中的原因?謝謝
---------------------------------------------
import java.awt.*;
import java.awt.event.*;
class ButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
System.exit(0);

}
}
public class TestButton{
private Frame f;
private Button b;
public TestButton(){
Frame f=new Frame("Test");
Button b=new Button("Press me");
b.addActionListener(new ButtonHandler());
f.add(b,BorderLayout.CENTER);
f.pack();
f.setVisible(true);
}
public void launchFrame(){

}
public static void main(String []args){
TestButton guiApp=new TestButton();
//guiApp.launchFrame();
}
}//運行成功
-----------------------------------------------------------------
import java.awt.*;
import java.awt.event.*;
class ButtonHandler implements ActionListener{
public void actionPerformed(ActionEvent e){
System.exit(0);

}
}
public class TestButton{
private Frame f;
private Button b;
public TestButton(){
Frame f=new Frame("Test");
Button b=new Button("Press me");
}
public void launchFrame(){
b.addActionListener(new ButtonHandler());
f.add(b,BorderLayout.CENTER);
f.pack();
f.setVisible(true);

}
public static void main(String []args){
TestButton guiApp=new TestButton();
guiApp.launchFrame();
}
}
/**Exception in thread "main" java.lang.NullPointerException
        at TestButton.launchFrame(TestButton.java:18)
        at TestButton.main(TestButton.java:25)
*/

|
因为你原来的写法,是在构造函数中定义并创建的f,b。
不会连变量定义与赋值都忘了吧?

你定义的private Frame f and Button b,并未在构造函数里用到,也就是没有为它们创建对象。
在构造函数中,你又定义了一个新的f,并且初始化了。
而你创建的f,b只适用于TestButton()本身,是局部的,并且覆盖全局的f与b。

|
呵呵, 在 TestButton 中定义的 Frame f 和 Button b 和在构造
函数中的不是一个.

|
Frame f 和 Button b 

把F 和 B 的初始化拿到构造函数外面来

    
 
 

您可能感兴趣的文章:

  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • 如何分析linux宕机原因(或者说如何通过查日志分析宕机原因)
  • 请帮助分析下死机原因
  • Linux死机后怎么通过日志分析死机的原因呢
  • 进来看看错误提示,谁来分析一下原因
  • 幫我分析以下原因
  • 请来分析一下报错原因!!!
  • 可以用文件控制访问吗?请分析如下原因,谢谢
  • 日常巡检,出现异常,但不影响正常访问及功能,请求分析原因!
  • php探针不显示cpu、内存、硬盘信息原因分析
  • c 调用python出现异常的原因分析
  • linux下,ftp傳輸速度很慢,請大家幫忙分析一下原因,來者有分
  • 一个程序两个结果,请高手分析原因
  • linux as3 _weblogic8_oracle系统访问50万/日,常常ping不通,分析原因
  • SQL Server 死锁原因分析与解决办法
  • mysql执行时间为负数的原因分析
  • 不要使用CSS Expression的原因分析
  • linux下使用crontab实现定时PHP计划任务失败的原因分析
  • 请高手分析一下出现下面这种情况的可能原因
  • JQuery EasyUI 加载两次url的原因分析及解决方案
  • 在linux下安装jdk1.4.1时,在选择是否接受协议许可时出现窗口关闭,请高手分析原因!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • HASH查找的程序实现及性能分析
  • 急!请问有分析java程序性能瓶颈的工具吗?例如,统计 java 程序中函数调用次数?
  • http协议介绍,文件上传分析及程序举例
  • Web 流量分析程序 TraceWatch
  • c/c++服务器程序内存泄露问题分析及解决
  • Java程序性能分析工具 VisualVM
  • binlog分析程序 Open Replicator
  • 并行性能分析程序 Scalasca
  • Web日志分析程序 Analog
  • 股票分析程序 AIStockBot
  • C++程序分析工具 CppDepend
  • Apache日志分析程序
  • 如何使用yacc分析c语言程序?
  • 可视化数据分析程序 SciDAVis
  • 高分求linux下分析网络流量的程序c/c++源码
  • 编写把一java程序中所有的print语句都删除,帮忙分析一下思路。
  • 我用gprof工具分析程序,怎么老报错?
  • 谁有java写的词法分析程序.象pl0那样的.
  • 请人做一个程序分析报告
  • 大家帮我分析一下JAVA程序的主要结构吧?谢谢!
  • 在suse linux下的程序,开辟一小块儿内存竟然用了400多个毫秒,高手帮忙分析一下
  • linux下free命令显示的内存使用情况分析
  • 如何获取shell词法分析,语法分析及解释器的内容和信息
  • Docker支持更深入的容器日志分析
  • 两台机器同时出现同样的故障,有人能帮分析分析吗?
  • mongodb的优点和缺点详细分析
  • 请教高手帮我分析分析!
  • Docker容器分析----好处和缺点介绍
  • 我想编程分析任意一个java文件,把其中的注释部分删掉,请帮我分析一下思路和方法好吗?
  • docker源码分析之容器日志处理与log-driver实现
  • Python的词法分析与语法分析


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3