-4

これは私がエラーを抱えているテストクラスであり、それが何であるかを正確に理解することはできません.

import java.util.*;
public class EmployeeTest 
{

public static void main(String[] args) {
    Employee e = new Employee();
    e.setId("100012");
    e.setLastname("Smith"); 
    ResponsibilityDecorator d;
    d = new Recruiter(e);
    d = new CommunityLiaison(e);
    d = new ProductionDesigner(e);      
    System.out.println(e.toString());
}
}

そして、これはテストクラスにリンクするクラスです

public class Employee 
{

String id;
String lastname;

Employee(String id, String lastname) 

{

    this.id=id;
    this.lastname=lastname;

}
 EmploymentDuties eduties=new EmploymentDuties();

public EmploymentDuties getDuties()
{
    return eduties;
}
public String toString(){
    return "Duties for this employee: "+eduties.jobtitles;
}

public void setId(String id)
{
    this.id = id;
}

public void setLastname(String lastname)
{
    this.lastname = lastname;
}


}
4

4 に答える 4

1

クラス Employee は、厳密に 1 つのコンストラクター Employee(String, String) を定義します。EmployeeTest から呼び出すか、パラメーターなしのコンストラクターを定義してください。

于 2013-06-20T14:27:14.623 に答える
0

デフォルトのコンストラクターは、別のコンストラクターを定義しない限り、自動的に生成される引数なしのコンストラクターです。

これはデフォルトのコンストラクターです:

 Employee() {}

次に、次のようなオブジェクトをインスタンス化できます。

Employee e = new Employee();

少なくとも 1 つのコンストラクターを明示的に定義すると、既定のコンストラクターは生成されません。

于 2013-06-20T14:32:42.363 に答える