0
我遇到一个问题,我的代码登录表单链接到我的企业社会责任的形式对员工重定向到正确的形式。我有一个Staff类和一个CustomerServiceRep类,CustomerServiceRep扩展到Staff。代码不兼容的类型:员工不能转换为CustomerServiceRep
//staff object to store staff logged in successfully
Staff emp = null;
/*Use core to store staff logged in should return an staff
object if username/password found OR null if credentials invalid*/
emp = core.login(username, password);
if (emp==null){//staff not found
//display feedback
pop.showMessageDialog(
null,
"Login Credentials Invalid",
"Errors",
JOptionPane.ERROR_MESSAGE
);
}else{//staff found, redirect to dashboard
pop.showMessageDialog(
null,
"Login Successful",
"Feedback",
JOptionPane.INFORMATION_MESSAGE
);
//redirect user to appropriate dashboard
if(emp.getRole().equals("csr")){
//go to csr dash
//hide the login form(current form)
this.setVisible(false);
/**create new instance of AdminDashboard form and
* pass the instance of Staff (emp) who
* has logged in successfully
*/
Z_Frm_CSR CSRDash = new Z_Frm_CSR(emp);
//Show CSR Dashboard
CSRDash.setVisible(true);
}
我收到错误“不兼容的类型:员工不能转换到CustomerServiceRep”在为EMP
Z_Frm_CSR CSRDash = new Z_Frm_CSR(emp);
我是新来这个网站,相当新的编码,我不知道我是否提供了有关我的错误的足够信息,如果没有给出,请询问更多信息。
以及没有即时得到一个异常错误:在线程异常 “的AWT-EventQueue的-0” java.lang.ClassCastException:athenas.garden.system.Staff不能转换为athenas.garden.system .CustomerServiceRep – Ryan
在这种情况下,物体确实是一个教员对象(不是从你的代码清楚),而不是一个CustomerServiceRep对象。如果该类真的需要一个CustomerServiceRep对象,那么它需要是该对象类型。如果它也可以是一个教员对象,改变构造函数,因此它可以采取一个教员对象或添加一个构造函数一个教员对象。 Java不会自动为您转换类型。 – Xyrus
我改变了我的CustomerServiceRep EMP = null来的工作人员,现在可感谢您的帮助 – Ryan