java报错Exception in thread "main"

报错的内容如下:

Exception in thread "main" java.lang.NullPointerException
	at lzq.FlowLayout.(FlowLayout.java:17)
	at lzq.FlowLayout.main(FlowLayout.java:29)
	

源代码如下(包的应用在此不一 一列出,简化):

public class FlowLayout extends JFrame{
	public JFrame jf1;
	public JButton add,update,delete;
	public FlowLayout() {
		add = new JButton("增加");
		jf1.setVisible(true);//报错出现的第一行
		jf1.setSize(400,400);
		jf1.setTitle("Flow定位");
		jf1.add(add);
	}	
	public static void main(String[] args) {
		FlowLayout jbt = new FlowLayout();//报错出现的第二行
	}
}

代码看似没有一丁点错误,可是为什么会报错呢?
在定义了一个JFrame jf1 ; 在这个地方定义的是一个对象,而既然是对象我们没有对他进行分配空间(没有new)又怎么去使用呢?
所以修改只需要对JFrame jf1进行初始化即可:如下:

public class FlowLayout extends JFrame{
	public JFrame jf;
	JFrame jf1 = new JFrame();//在此处对jf初始化
	public JButton add,update,delete;
	public FlowLayout() {
		add = new JButton("增加");
		jf1.setVisible(true);
		jf1.setSize(400,400);
		jf1.setTitle("Flow定位");
		jf1.add(add);
	}	
	public static void main(String[] args) {
		FlowLayout jbt = new FlowLayout();
	}
}

你可能感兴趣的:(#,Java基础+JDBC)