java怎么引用另一个包中的类的方法
privatestaticDaodao;static{dao=newDao();}publicstaticDaogetInstance(){returndao;}//修改...
private static Dao dao;
static {
dao = new Dao();
}
public static Dao getInstance() {
return dao;
}
//修改密码
public boolean uPasswordByName(String CardID,String password) {
return super.longHaul("update CardInfo set password='" + password + "' where CardID='" + CardID + "'");
}
//冻结账户
public boolean uBlockByName(String CardID, boolean IsReportBlock) {
return super.longHaul("update CardInfo set IsReportBlock='true' where CardID='" + CardID + "'");
}
//查询密码(登录)
public Vector sCardPasswordByCardID(String CardID) {
return selectOnlyNote("select Password from CardInfo where CardID='" + CardID + "'");
}
这是在数据库类中写的一些方法,我怎么在别的类中,比如登录中调用这些方法,先实例化Dao dao=new Dao(),然后就可以调用吗?
登陆类
char[] passwords = passwordField.getPassword();// 获得登录用户的密码
final String inputPassword = turnCharsToString(passwords);// 将密码从char型数组转换成字符串
final String CardIDStr=textField.getText();//获得登录用户的用户名
if(dao.sCardPasswordByCardID(CardIDStr).equals(inputPassword))
{
frame.dispose();//隐藏登录界面
new CustomerMain();//new出用户主界面
}
一直报错,这是为什么呢 展开
static {
dao = new Dao();
}
public static Dao getInstance() {
return dao;
}
//修改密码
public boolean uPasswordByName(String CardID,String password) {
return super.longHaul("update CardInfo set password='" + password + "' where CardID='" + CardID + "'");
}
//冻结账户
public boolean uBlockByName(String CardID, boolean IsReportBlock) {
return super.longHaul("update CardInfo set IsReportBlock='true' where CardID='" + CardID + "'");
}
//查询密码(登录)
public Vector sCardPasswordByCardID(String CardID) {
return selectOnlyNote("select Password from CardInfo where CardID='" + CardID + "'");
}
这是在数据库类中写的一些方法,我怎么在别的类中,比如登录中调用这些方法,先实例化Dao dao=new Dao(),然后就可以调用吗?
登陆类
char[] passwords = passwordField.getPassword();// 获得登录用户的密码
final String inputPassword = turnCharsToString(passwords);// 将密码从char型数组转换成字符串
final String CardIDStr=textField.getText();//获得登录用户的用户名
if(dao.sCardPasswordByCardID(CardIDStr).equals(inputPassword))
{
frame.dispose();//隐藏登录界面
new CustomerMain();//new出用户主界面
}
一直报错,这是为什么呢 展开
6个回答
展开全部
如果你想用Dao dao=new Dao()来实例化这个Dao的话,那是错误的
从Dao类的定义来看是一个静态类,所以你要获得Dao的实例的话,要这么用
Dao dao=Dao.getInstance(); // 他上面提供了public的getInstance方法,然后是在里面实例化一个自己的,这样保证不管什么地方用这种方式取都能取到同一个实例
从Dao类的定义来看是一个静态类,所以你要获得Dao的实例的话,要这么用
Dao dao=Dao.getInstance(); // 他上面提供了public的getInstance方法,然后是在里面实例化一个自己的,这样保证不管什么地方用这种方式取都能取到同一个实例
更多追问追答
追问
改了还是有错,运行显示错误在 char[] passwords = passwordField.getPassword;
追答
你passwordField是哪取得的实例?
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
import 包名(comXXX.XXX.XXX)
new 个 对象
之后对象的方法随便你调
new 个 对象
之后对象的方法随便你调
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
new一个对象 然后用对象去引用
如果方法是static修饰 ,类名.方法名就可以
如果方法是static修饰 ,类名.方法名就可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dao dao=Dao.getInstance();
你把new的地方改成这样看看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询