Java報錯異常-----Exception in thread "main" java.lang.NullPointerException
異常提示:
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();
}
}