Я пытаюсь создать несколько классов, которые наследуются от одного и того же суперкласса. Мой первый класс работал отлично. Когда я попытался второй, я получил сообщение об ошибке, которое я не видел прежде. Я новичок в этом, поэтому я не уверен, как решить проблему.
Это класс
class Employee extends Person{
double salary;
private java.util.Date dateCreated;
public Employee(){
}
public Employee(String name, String address, String phone_number, double salary){
super(name, address, phone_number);
this.salary = salary;
}
public String getDate(){
java.util.Date date = new java.util.Date();
return date.toString();
}
public double getSalary(){
return this.salary;
}
public String toString(){
return("Employee object:\n" + super.toString() + "\n" + "Salary:\t$" + getSalary() + "\n" + "Date Hired: " + getDate());
}
}
Я пытаюсь вызвать метод таким образом
Employee employee = new Employee (name, address, number, salary);
System.out.println(employee.toString());
Я получаю это сообщение об ошибке:
testPerson.java:21: error: constructor Employee in class Employee cannot be applied to given types;
Employee employee = new Employee (name, address, number, salary);
^
required: no arguments
found: String,String,String,double
reason: actual and formal argument lists differ in length
1 error
Вот класс TestPerson
public class TestPerson{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("Please enter your name: ");
String name = input.next();
System.out.println("Please enter your address: ");
String address = input.next();
System.out.println("Please enter your phone number: ");
String number = input.next();
System.out.println("Please enter your yearly salary: ");
double salary = input.nextDouble();
Employee employee = new Employee (name, address, number, salary);
System.out.println(employee.toString());
}
}
Это родительский класс, чтобы очистить его. Я могу сделать что-то не так, что я не поймаю.
import java.util.*;
public class Person{
private String name;
private String address;
private String phone_number;
public Person(){
}
public Person(String name, String address, String phone_number){
this.name = name;
this.address = address;
this.phone_number = phone_number;
}
public String getName(){
return this.name;
}
public String getAddress(){
return this.address;
}
public String getPhone(){
return this.phone_number;
}
public String toString(){
return ("Person object:\n" + "Name:\t\t" + getName() + "\n" + "Address:\t" + getAddress() + "\n" + "Phone#:\t" + getPhone());
}
}