如何从这个对象打印? Java的

时间:2013-09-20 18:00:12

标签: java object

我需要从两个员工对象打印名字,姓氏和薪水,但我一直找不到符号错误。我该怎么做才能解决这个问题?

这是构造函数类:

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);
         }
   }

我需要能够打印出类似“姓名:薪水:”的内容,但我对如何使这项工作毫无头绪。任何帮助将不胜感激。

3 个答案:

答案 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)

firstNameprivate,这意味着它无法在其所在的对象/类之外看到。我建议您尝试覆盖toString()上的Employee方法}类。该方法可以访问Employee的所有私有成员。

或者,您可以使用getfirstName()返回名字。

此外,这可能是拼写错误,但员工中没有firstName1 - 它是firstName