| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2363 人关注过本帖
标题:无法从静态上下文中引用非静态方法
只看楼主 加入收藏
bao
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2008-5-24
收藏
 问题点数:0 回复次数:3 
无法从静态上下文中引用非静态方法
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()也不行 这怎么改呢?
搜索更多相关主题的帖子: 静态上下 void insert event 
2008-06-01 22:37
freish
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1223
专家分:437
注 册:2007-6-1
收藏
得分:0 
静态上下文怎么能引用非静态方法呢?!


把那个方法设置为静态的就好了
2008-06-02 22:53
bao
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2008-5-24
收藏
得分:0 
可是public void toquery()方法里有参数传递 query qu=new query(this); 里的this是动态的
而且我不明白的一点是public void qu()没有加 static 为什么他说是静态上下文呢?
2008-06-03 13:44
huwangvs
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:764
专家分:0
注 册:2007-2-4
收藏
得分:0 
query qu=new query(this);
变量名和方法名重复了。。。。
改了再试试。。。
2008-06-03 14:10
快速回复:无法从静态上下文中引用非静态方法
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014962 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved