Java报错异常-----Exception in thread "main" java.lang.NullPointerException

时间:2022-10-12 00:21:30

异常提示:

Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1045)
at java.awt.Container.add(Container.java:365)
at com.Textarea.JT_area.<init>(JT_area.java:23)
at com.Textarea.JT_area.main(JT_area.java:58)


为什么会报这个异常???

原因找到了:

jp.add(jtf);
jp.add(jb);

jtf=new JTextField(20);

是因为这三个的顺序不当引起,因为,jtf还没有被初始化的情况下,被:  jp.add(jtf); 这样使用,肯定是不行的,这是的对象为空。所以会报空指针异常。


空指针,引用没有初始化就使用了。

总结:通常报:Exception in thread "main" java.lang.NullPointerException 即:空指针异常,

通常是,由于,对象没有被初始化就使用造成的。

对象,必须初始化即实例化之后,才能使用!



都有哪些情况下会报异常???

异常的种类 ?以及各种异常的处理方法啊??










package com.Textarea;
import javax.swing.*;
import java.awt.*;
import java.io.*;


public class JT_area extends JFrame 
{
JScrollPane jsp=null;
JTextArea   jta=null;
JTextField   jtf=null;

JButton jb=null;
JPanel   jp=null;



public JT_area()
{
// 定义按钮
jb=new JButton("发送");
jp=new JPanel();
 
jp.add(jtf);
jp.add(jb);
 

// 定义三个组件
jta=new JTextArea();
jtf=new JTextField();



jsp=new JScrollPane(jta);

this.add(jsp,"Center");
this.add(jp,"South");

// 设置框架

this.setLocation(300, 300);
this.setSize(300,400);

this.setTitle("聊天对话框");
this.setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
this.setVisible(true);








}

public static void main(String[] args)
{
JT_area jtar=new JT_area();


}

}