Для выполнения домашнего задания я работаю со следующим.Это назначенная классовая структура, я знаю, что это далеко не лучший дизайн.1007 * в Faculty
разрешит доступ к переменным в CollegeEmployee
, а также Person
.С кодом выше, он прекрасно компилируется, когда я ТОЛЬКО включаю переменные Person
.Как только я пытаюсь использовать ssn, department, or salary
, я получаю следующие ошибки компиляции.
Faculty.java:15: error: constructor CollegeEmployee in class CollegeEmployee can not be applied to the given types:
super(firstName,lastName,streetAddress,zipCode,phoneNumber,ssn,department,salary);
^
Required: String,String,String,String,String
Found: String,String,String,String,String,String,String,String
reason: actual and formal argument lists differ in length
Я совершенно сбит с толку этой ошибкой ... которая является реальной и формальной?Person
имеет пять аргументов, CollegeEmployee
имеет 3, поэтому я предполагаю, что что-то не так с передачей параметров ... но я не совсем уверен, с чего начать это исправлять.Что мне не хватает?
Вот мой класс CollegeEmployee
import java.util.*;
import javax.swing.*;
//
public class CollegeEmployee extends Person
{
protected String ssn;
protected String sal;
protected double annSalary;
protected String department;
//
public CollegeEmployee(String firstName, String lastName,
String streetAddress, String zipCode,
String phoneNumber)
{
super(firstName,lastName,streetAddress,zipCode,phoneNumber);
ssn = JOptionPane.showInputDialog(null, "Enter SSN ");
department = JOptionPane.showInputDialog
(null, "Enter department: ");
sal = JOptionPane.showInputDialog(null, "Enter salary: ");
annSalary = Double.parseDouble(sal);
}
//
public void setSSN(String ssn)
{ this.ssn = ssn; }
public void setAnnSalary(double annSalary)
{ this.annSalary = annSalary; }
public void setDepartment(String department)
{ this.department = department; }
//
public String getSSN()
{ return ssn; }
public double getAnnSalary()
{ return annSalary; }
public String getDepartment()
{ return department; }
//
public void display()
{
super.display();
JOptionPane.showMessageDialog
(null, "\nSSN: " + getSSN() + "\nAnnual Salary: "
+ getAnnSalary() + "\nDepartment: " + getDepartment(),
"Information", JOptionPane.QUESTION_MESSAGE);
}
}