无法从静态上下文中引用非静态方法
event.java里有个转换页面的方法public void toquery(){
query qu=new query(this);
jSplitPane1.remove(jSplitPane1.getRightComponent());
jSplitPane1.add(qu, jSplitPane1.RIGHT);
}
我把他用到这个方法里的时候显示 无法从静态上下文中引用非静态方法 的错误
public void qu(){
SimpleDateFormat sd=new SimpleDateFormat(" HH:mm:ss");
Connection con=ss.getConnection();
String insert="insert into event (cardid,money1,date1) values('"+cardid+"',"+
Integer.parseInt("-"+jTextField1.getText().trim())+",'"+sd.format(new Date())+"')";
String add="update card set leavemoney =(leavemoney-"+ Integer.parseInt(jTextField1.getText().trim())
+") where cardid='"+cardid+"'";
PreparedStatement pstmt = null;
PreparedStatement pstm = null;
try{
pstmt=con.prepareStatement(insert);
pstm=con.prepareStatement(add);
pstmt.executeUpdate();
pstm.executeUpdate();
event.toquery(); //此处报错
}catch(SQLException e){
e.printStackTrace();
}
}
我把他改成这样public static void toquery()也不行 这怎么改呢?
----------------解决方案--------------------------------------------------------
静态上下文怎么能引用非静态方法呢?!
把那个方法设置为静态的就好了
----------------解决方案--------------------------------------------------------
可是public void toquery()方法里有参数传递 query qu=new query(this); 里的this是动态的
而且我不明白的一点是public void qu()没有加 static 为什么他说是静态上下文呢?
----------------解决方案--------------------------------------------------------
query qu=new query(this);
变量名和方法名重复了。。。。
改了再试试。。。
----------------解决方案--------------------------------------------------------