5

同じ引数を持つ複数のコンストラクターを作成して、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 ;
}

DAO クラスから参照している場合、これらのコンストラクターを参照するにはどうすればよいですか?

例えば

private static Employee myList(ResultSet resultSet) throws SQLException {
    return new <what should be here>((resultSet.getString("DB_NAME1")), 
                      (resultSet.getString("DB_NAME2")));
}
4

8 に答える 8

7

同じ名前と同じ引数を持つ複数のコンストラクター/メソッドを作成することはできません

できることは実装を変更することであり、それらはコンストラクターではありません。

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 ;
}
于 2013-04-18T07:00:15.187 に答える
1

パラメータの意味は同じだが効果が異なる 2 つの同じコンストラクタがある場合は、それらを 1 つにまとめることができます。

public Name(Type parameter, boolean type) {
    if(type) {

    }else {

    }
}

2 つ以上の同じコンストラクターがある場合は、 and を使用int typeswitchます。ただの提案。

EDIT:typesこの場合、enumコードをより簡単に把握するために定義する必要があります。

于 2016-05-14T12:59:50.143 に答える