import java.util.*; class Day { private int year, month, day; public Day(int y, int m, int d) {year=y; month=m; day=d; } public int getYear() {return year;} public int getMonth() {return month;} public int getDay() {return day;} public void setDay(int y, int m, int d) {year=y; month=m; day=d; } @Override public String toString() { final String[] MonthNames = { "Jan", "Feb", "Mar", "Apr","May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; return day+" "+ MonthNames[month-1] + " "+ year; } } class Employee { private String name; private double salary; private Day hireDay; public Employee(String n, double s, int year, int month, int day) { name = n; salary = s; hireDay = new Day(year,month,day); } void setName(String n) {name=n;} void setSalary(double s) {salary=s;} void setHireDay(Day d) {hireDay=d;} Day getHireDay() {return hireDay;} @Override public String toString() { return "name=" + name + ",salary=" + salary +",hireDay=" + hireDay; } } public class Main { public static void main(String[] args) { Employee e = new Employee("Carl Cracker", 75000, 1987, 12, 15); Employee e2 = e; e.getHireDay().setDay(1988,1,1); e.setName("Helena"); e.setSalary(88000); System.out.println(e); System.out.println(e2); } } /* Employee e3 = e.clone(); System.out.println(e3); Employee[] arr = new Employee[3]; arr[0] = new Employee("Carl Cracker", 75000, 1987, 12, 15); arr[1] = new Employee("Harry Hacker", 50000, 1989, 10, 1); arr[2] = new Employee("Tony Tester", 40000, 1990, 3, 15); Arrays.sort(arr); for (Employee e : arr) System.out.println(e); ArrayList arrlist = new ArrayList<>(); arrlist.add(arr[2]);arrlist.add(arr[0]);arrlist.add(arr[1]); Collections.sort(arrlist); for (Employee e : arrlist) System.out.println(e); */