mplement a superclass Person . Make two classes, Student and Instructor , that i
ID: 3910227 • Letter: M
Question
mplement a superclass
Person
. Make two classes,
Student
and
Instructor
, that inherit
from
Person
. A person has a name (type String) and a year of birth (type String). A
student has a major (type String), and an instructor has a salary (type double). Write the
class definitions and the constructors for all classes. Overwrite the
toString()
method for
each class to display the person’s name, person’s birth year, student major (only for the
Student object), and instructor salary (only for the Instructor object).
Supply a test program -
PersonTest
- that creates three objects: a person, a student, and
an instructor, and then invokes their toString() methods. Following is a sample run:
Person Name: John Doe
Person Birth Year: 1960
Person Name: Jane Doe
Person Birth Year: 2007
Student Major: Finance
Person Name: John Smith
Person Birth Year: 1970
Instructor Salary: $50,000.00
Explanation / Answer
PersonTest.java
import java.util.Scanner;
public class PersonTest {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Enter Person Name: ");
String student_name = scan.nextLine();
System.out.println("Enter Person year of birth: ");
int student_yearOfBirth = scan.nextInt();
Person p = new Person(student_name, student_yearOfBirth);
scan.nextLine();
System.out.println("Enter Student Name: ");
student_name = scan.nextLine();
System.out.println("Enter Student year of birth: ");
student_yearOfBirth = scan.nextInt();
scan.nextLine();
System.out.println("Enter Student Major: ");
String student_major = scan.nextLine();
Student s = new Student(student_name, student_yearOfBirth, student_major);
System.out.println("Enter Instructor Name: ");
String instructor_name = scan.nextLine();
System.out.println("Enter Instructor year of birth: ");
int instructor_yearOfBirth = scan.nextInt();
System.out.println("Enter Instructor Salary: ");
int instructor_salary = scan.nextInt();
Instructor i = new Instructor(instructor_name, instructor_yearOfBirth, instructor_salary);
System.out.println(p);
System.out.println(s.toString());
System.out.println(i.toString());
}
}
Person.java
public class Person {
private String name;
private int yearOfBirth;
public Person(String name, int yearOfBirth){
this.name = name;
this.yearOfBirth = yearOfBirth;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getYearOfBirth() {
return yearOfBirth;
}
public void setYearOfBirth(int yearOfBirth) {
this.yearOfBirth = yearOfBirth;
}
public String toString(){
return "Person Name: "+getName()+" Person Birth Year: "+getYearOfBirth();
}
}
Student.java
public class Student extends Person{
private String major;
public Student(String name, int yearOfBirth, String major){
super(name, yearOfBirth);
this.major = major;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public String toString(){
return super.toString()+" Student Major: "+getMajor();
}
}
Instructor.java
public class Instructor extends Person{
private int salary;
public Instructor(String name, int yearOfBirth, int salary){
super(name, yearOfBirth);
this.salary = salary;
}
public int getSalary() {
return salary;
}
public void setSalary(int salary) {
this.salary = salary;
}
public String toString(){
return super.toString()+" Instructor Salary: $"+getSalary();
}
}
Output:
Enter Person Name:
John Doe
Enter Person year of birth:
1960
Enter Student Name:
Jane Doe
Enter Student year of birth:
2007
Enter Student Major:
Finance
Enter Instructor Name:
John Smith
Enter Instructor year of birth:
1970
Enter Instructor Salary:
50000
Person Name: John Doe
Person Birth Year: 1960
Person Name: Jane Doe
Person Birth Year: 2007
Student Major: Finance
Person Name: John Smith
Person Birth Year: 1970
Instructor Salary: $50000
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.