In: Computer Science
JAVA/Netbeans
•Design a class named Person with fields for holding a person’s name, address and phone number (all Strings)
–Write a constructor that takes all the required information.
–Write a constructor that only takes the name of the person and uses this to call the first constructor you wrote.
–Implement the accessor and mutator methods. Make them final so subclasses cannot override them
–Implement the toString() method
•Design a class named Customer, which extends the Person class. It should have a field for the Customer ID (String) and a Boolean field indicating whether the customer wishes to be on a mailing list.
–Write a constructor that takes the name of the customer, id, address, phone number and the Boolean. Use super to call the appropriate constructor in Person
–Write a constructor that takes the name of the customer and id only and uses this to call the first constructor you wrote. It should set the Boolean to false.
–Implement the accessor and mutator methods for the customer id and Boolean.
–Override the toString() method using @override and use super to call Person’s toString()
•Write a main method that asks the user for the info of two customers, the first asking only for name and id, and the second asking for all the information. It creates 2 Customers and prints them out.
Explanation: I have implemented the code and have written Student and Customer class.I have written all the methods and have made accessors and mutators final.I have used Scanner to take inputs and have created the Customer objects and printed both the information. I have also shown the output of the program,please find the image attached with the answer.
//Person class
public class Person {
private String name;
private String address;
private String phoneNumber;
public Person(String name, String address, String
phoneNumber) {
super();
this.name = name;
this.address = address;
this.phoneNumber =
phoneNumber;
}
public Person(String name) {
this.name = name;
}
public final String getName() {
return name;
}
public final void setName(String name) {
this.name = name;
}
public final String getAddress() {
return address;
}
public final void setAddress(String address) {
this.address = address;
}
public final String getPhoneNumber() {
return phoneNumber;
}
public final void setPhoneNumber(String phoneNumber)
{
this.phoneNumber =
phoneNumber;
}
@Override
public String toString() {
return " name=" + name + ",
address=" + address + ", phoneNumber="
+ phoneNumber;
}
}
//Customer class
import java.util.Scanner;
public class Customer extends Person {
private String customerId;
private boolean mailingList;
public Customer(String name, String customerId,
String address,
String
phoneNumber, boolean mailingList) {
super(name, address,
phoneNumber);
this.customerId = customerId;
this.mailingList =
mailingList;
}
public Customer(String name, String customerId)
{
super(name);
this.mailingList = false;
this.customerId = customerId;
}
public String getCustomerId() {
return customerId;
}
public void setCustomerId(String customerId)
{
this.customerId = customerId;
}
public boolean isMailingList() {
return mailingList;
}
public void setMailingList(boolean mailingList)
{
this.mailingList =
mailingList;
}
@Override
public String toString() {
return "Customer [customerId=" +
customerId + ", mailingList="
+ mailingList + ", " + super.toString() +
"]";
}
public static void main(String[] args) {
Scanner input = new
Scanner(System.in);
System.out.print("Enter the id of
the customer1:");
String id = input.next();
System.out.print("Enter the name of
the customer1:");
String name = input.next();
Customer customer1 = new
Customer(name, id);
System.out.print("Enter the id of
the customer2:");
id = input.next();
System.out.print("Enter the name of
the customer2:");
name = input.next();
System.out.print("Enter the address
of the customer2:");
String address =
input.next();
System.out.print("Enter the phone
number of the customer2:");
String phoneNumber =
input.next();
System.out.print(
"Enter the mailing list (true or false) of the
customer2:");
boolean mailingList =
input.nextBoolean();
Customer customer2 = new
Customer(name, id, address, phoneNumber,
mailingList);
System.out.println("Customer 1:
");
System.out.println(customer1.toString());
System.out.println("Customer 2:
");
System.out.println(customer2.toString());
input.close();
}
}
Output: