Part – 3 (Abstract Class and Interface)
Consider the Class that you designed in Part#1 of this project and do the following:
1. Implement the Comparable and Cloneable interface for your class.
2. The Test class should create 5 instances (objects) of your class.
3. Store these instances in Array and ArrayList
4. Show the demo of sorting these objects stored in Array and ArrayList
Include the below in your project report:
1. Screenshot of relevant (Comparable and Cloneable) outputs.
2. Code for all classes.
part1:
Part 1)
CODE
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
class Person {
private String fName;
private String lName;
private String gender;
private boolean isHungry;
public Person() {
fName = "John";
lName = "Doe";
gender = "Male";
isHungry = false;
}
public Person(String fName, String lName, String gender, boolean isHungry) {
this.fName = fName;
this.lName = lName;
this.gender = gender;
this.isHungry = isHungry;
}
public void printInfo() {
System.out.println("First name = " + fName);
System.out.println("Last Name = " + lName);
System.out.println("Gender = " + gender);
System.out.println("Is hungry = " + isHungry);
}
public String getFullName() {
return fName + " " + lName;
}
public String getFName() {
return fName;
}
public void setFName(String fName) {
this.fName = fName;
}
public void setHungry(boolean hungry) {
isHungry = hungry;
}
public boolean isHungry() {
return isHungry;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getLName() {
return lName;
}
public void setLName(String lName) {
this.lName = lName;
}
}
public class Main {
public static void main(String[] args) {
Person p1 = new Person();
Person p2 = new Person("Jane", "Doe", "Female", true);
p1.setFName("Harry");
p1.setLName("Styles");
p1.setGender("Male");
p1.setHungry(true);
p1.printInfo();
p2.printInfo();
List persons = Arrays.asList(p1, p2);
System.out.println(persons);
}
}