我正在创建一个名为"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对象时,是否需要将实际实例化对象作为参数传递?
谢谢
我正在练习调试,有一个问题,我不确定,它是在问什么是错的,我该怎么做才能修复它我读了它的章节,但不够具体.从书中粘贴:
int a = 26.4 ^编译时,这是消息:
Test.Java:8:可能的精度损失int = 26.4;
required:int found:double 1 error
我对为什么会出现错误有一个很好的理解,因为double的优先级高于int,以及int如何必然存储double值.
我的问题是,有没有办法将转换变量a键入双重类型?或者是通过将from int更改为double来解决此问题的唯一方法?
谢谢