Jåc*_*cob 5 java constructor arguments
我需要创建具有相同参数的多个构造函数,以便我可以从我的DAO类中调用这些构造函数来填充不同的下拉值
public static Employee empType(String empCode, String empType) {
Employee emp = new Employee();
emp .empCode= empCode;
emp .empType= empType;
return emp ;
}
public static Employee empDept(String deptCode, String deptName) {
Employee emp = new Employee();
emp .deptCode= deptCode;
emp .deptName= deptName;
return emp ;
}
Run Code Online (Sandbox Code Playgroud)
当我从DAO类引用时,我如何引用这些构造函数?
例如
private static Employee myList(ResultSet resultSet) throws SQLException {
return new <what should be here>((resultSet.getString("DB_NAME1")),
(resultSet.getString("DB_NAME2")));
}
Run Code Online (Sandbox Code Playgroud)
你不能.而且,这些函数不是构造函数.你想如何决定调用哪个"构造函数"?
您可以合并两个函数:
public static Employee createEmp(String empCode, String empType, String deptName) {
Employee emp = new Employee();
emp .empCode= empCode;
emp .empType= empType;
emp .deptName= deptName;
return emp ;
}
Run Code Online (Sandbox Code Playgroud)
并null用作不需要的参数.
您不能使用相同的名称和相同的参数创建多个构造函数/方法
你可以做的是改变你的实现,而那些不是Contructors.
您可以按照Baraky的说法操作,也可以使用它(创建一个布尔标志或一个int值标志)
public Employee empType(String val1, String val2, int type) {
Employee emp = new Employee();
if(type == 1){
emp .empCode= val1;
emp .empType= val2;
}else if(type ==2){
emp.deptCode= val1;
emp .deptName= val2;
}
return emp ;
}
Run Code Online (Sandbox Code Playgroud)