如何使用另一个类的参数创建一个类的对象?Java的

Noc*_*nel 1 java date

我正在创建一个名为"Employee"的用户定义类,它将保存有关员工的基本数据.如姓名,生日和雇用日期.

在我之前的程序中,我创建了一个名为"Date"的用户定义类,它保存了3个int值(月,日,年).

Employee类的生日和雇用日期必须是Date类型.

这是我的Date类的构造函数//日,月,年之前已初始化

 public Date(int m, int d, int y){
     day = d;
     month = m;
     year = y;
 }
Run Code Online (Sandbox Code Playgroud)

以及实例化Date对象的示例

Date date1 = new Date(1, 1, 1582);
Run Code Online (Sandbox Code Playgroud)

这是我的Employee类的构造函数

 public Employee(String fName, String lName, Date d1, Date d2) {
   firstName = fName;
   lastName = lName;
   date1 = d1;
   date2 = d2; 
 }
Run Code Online (Sandbox Code Playgroud)

在尝试创建Employee类的对象时(在另一个类中,此类名为"Employee Test")我得到了一个erorr

"必需:字符串,字符串,日期,日期

found:String,String,int,int,int,int,int,int".

 Employee e = new Employee("Tom" , "Doe",1 , 5 , 1995, 1 , 6 , 2011 );
Run Code Online (Sandbox Code Playgroud)

问题似乎是对象正在以int值接收数据而不是类型Date,即使Date对象本身需要3个int值.

我对如何创建这个对象很困惑,我的构造函数是错误的吗?在创建Employee对象时,是否需要将实际实例化对象作为参数传递?

谢谢

Bru*_* DM 10

你需要传递一个Date对象!看一下这个样本:

Date date1 = new Date(1, 5, 1995);
Date date1 = new Date(1, 6, 2011);
Employee e = new Employee("Tom" , "Doe",date1, date2 );
Run Code Online (Sandbox Code Playgroud)

现在,您将Date对象的两个引用传递给Employee构造函数.你甚至可以这样做:

Employee e = new Employee("Tom" , "Doe", new Date(1, 5, 1995), new Date(1, 6, 2011));
Run Code Online (Sandbox Code Playgroud)

  • 您可以添加另一个直接接受`m,d,y`参数的构造函数,并调用现有的构造函数来回答标题中的问题. (2认同)