我需要从两个员工对象打印名字,姓氏和薪水,但我一直找不到符号错误。我该怎么做才能解决这个问题?
这是构造函数类:
public class Employee
{
private String firstName;
private String lastName;
private double monthlySalary;
public Employee( String firstName1, String lastName1, double monthlySalary1) {
setfirstName(firstName1);
setlastName(lastName1);
setmonthlySalary(monthlySalary1);
}
String getfirstName() {
return firstName;
}
String getlastName() {
return lastName;
}
double getmonthlySalary() {
return monthlySalary;
}
public void setfirstName (String firstName1) {
firstName = firstName1;
}
public void setlastName (String lastName1) {
lastName = lastName1;
}
public void setmonthlySalary (double monthlySalary1) {
monthlySalary = ( monthlySalary1 >= 0 ? monthlySalary1 : 0);
}
}
以下是我到目前为止打印对象的内容:
public class EmployeeTest {
public static void main(String[] args) {
Employee a = new Employee("John", "Smith", 10000);
Employee b = new Employee("Jane", "Smith", 11000);
System.out.print(a.firstName1);
}
}
我需要能够打印出类似“姓名:薪水:”的内容,但我对如何使这项工作毫无头绪。任何帮助将不胜感激。
答案 0 :(得分:1)
在您的员工类中,您需要覆盖toString()方法。
您可以尝试以下内容:
@Override
public String toString()
{
System.out.println("Name: "+name+"Salary: "+salary);
}
然后,对于每个员工,当您想要打印它们时,只需致电
System.out.println(employee);
答案 1 :(得分:0)
您无法打印firstName
(或firstName1
,因为您的课程中不存在此内容),因为它被标记为私有。你应该这样做:
System.out.print(a.getfirstName())
答案 2 :(得分:0)
firstName
是private
,这意味着它无法在其所在的对象/类之外看到。我建议您尝试覆盖toString()
上的Employee
方法}类。该方法可以访问Employee
的所有私有成员。
或者,您可以使用getfirstName()
返回名字。
此外,这可能是拼写错误,但员工中没有firstName1
- 它是firstName
。