package com.dh.hrmanager.util;
import java.util.Scanner;
import com.dh.hrmanager.entity.*;import com.dh.hrmanager.entity.Employee;public class StartHr {
public static void main(String[] args) {

Employee staff = new Employee(1,"DH001","Staff","Staff",2,1,3000.5);//用户名为第三个,密码为第四个
Employee manager = new Employee(2,"DH002","Manager","Manager",2,2,6000.5);
Employee admin = new Employee(3,"DH003","Admin","Admin",2,3,4000.5);
HrHelper helper = new HrHelper();
Data.init();
Menu menu  = new Menu();
menu.showLoginMenu();
boolean flag = true;
Scanner input = new Scanner(System.in);
while(flag) {
int choice = input.nextInt();
switch(choice) {
case 1:
System.out.println("请输入用户名:");
String userName = input.next();
System.out.println("请输入密码:");
String password = input.next();
Employee emp = helper.login(userName, password);
if(userName.equals(staff.getUserName())&&password.equals(staff.getPassword()))
menu.showStaffMenu();
else if(userName.equals(manager.getUserName())&&password.equals(manager.getPassword()))
menu.showManagerMenu();
else if(userName.equals(admin.getUserName())&&password.equals(admin.getPassword()))
menu.showAdminMenu();
else
System.out.println("用户名或者密码不正确"
+ "请重新输入数字:");
break;
case 2:
System.out.println("本功能将在后面实践篇实现,"
+ "请选择其它选项");
menu.showLoginMenu();
break;
case 3:
flag = false;
System.out.println("您退出了系统!");
break;
default:
System.out.println("输入选项不正确,请重新输入数字:");}
if(!flag)
break;
}



}}
求教大神Employee显示没出错,运行时这里面的Employee显示不能实例化,我该怎么改                Employee staff = new Employee(1,"DH001","Staff","Staff",2,1,3000.5);//用户名为第三个,密码为第四个
Employee manager = new Employee(2,"DH002","Manager","Manager",2,2,6000.5);
Employee admin = new Employee(3,"DH003","Admin","Admin",2,3,4000.5);

解决方案 »

  1.   

    没Employee的代码,怎么知道原因在哪?
      

  2.   

    Employee的代码一并粘上来吧
      

  3.   


    public abstract class Employee {
    public Employee(int userId, String empNo,String userName,String password,int departId,int roleId,double salary) {
    this.userId = userId;
    this.empNo = empNo;
    this.userName = userName;
    this.password = password;
    this.departId = departId;
    this.roleId = roleId;
    this.salary = salary;
    }
    /**
     * 
     * 显示员工信息
     */
    public void displayInfo() {
    String position = null;
    if(roleId == 1) {
    position = "Staff";}
    if(roleId == 2) {
    position = "Manager";
    }
    if(roleId == 3) {
    position = "Admin";
    }
    String department = null;
    if(departId == 1)department = "市场部";
    if(departId == 2)department = "开发部";
    if(departId == 3)department = "信息部";
    System.out.println("\t\t当前用户信息\n\n");
    System.out.println("*********************************");
    System.out.println("\t\t雇员编号: "+empNo);
    System.out.println("\t\t姓名:"+userName);
    System.out.println("\t\t职务:"+position);
    System.out.println("\t\t部门: "+department);
    System.out.println("\t\t薪水:"+String.valueOf(salary));
    System.out.println("**********************************");
    }
    /**
     * 
     * 修改密码
     * 
     * @param newPassword
     */
    public void modifyPassword(String newPassword) {
    this.password = newPassword;
    System.out.println("修改密码成功");

    }
    private int userId;
    private String userName;
    private String password;
    private int roleId;
    private String empNo;
    private int departId;
    private double salary;
    public int getUserId() {
    return userId;
    }
    public void setUserId(int userId) {
    this.userId = userId;
    }
    public String getUserName() {
    return userName;
    }
    public void setUserName(String userName) {
    this.userName = userName;
    }
    public String getPassword() {
    return password;
    }
    public void setPassword(String password) {
    this.password = password;
    }
    public int getRoleId() {
    return roleId;
    }
    public void setRoleId(int roleId) {
    this.roleId = roleId;
    }
    public String getEmpNo() {
    return empNo;
    }
    public void setEmpNo(String empNo) {
    this.empNo = empNo;
    }
    public int getDepartId() {
    return departId;
    }
    public void setDepartId(int departId) {
    this.departId = departId;
    }
    public double getSalary() {
    return salary;
    }
    public void setSalary(double salary) {
    this.salary = salary;
    }
    public abstract void displaySalaryRange();}
    这是Employee 的
      

  4.   

    Employee没有无参构造
      

  5.   

    你Employee定义的是抽象类,怎么可以直接用new 实例化抽象类实例化方法有2种 1。是先写个子类继承,然后在子类中重写 把父类的抽象方法重写为可以实现的方法。2.是用内部匿名类,也需要在匿名类中重写抽象方法。