// Lecture 19 (slim version)

class Person {
    public String name;
    public Person friend;
    public Person(String s) { name=s; } 
    public void set_friend(Person p) { friend = p; }
    public String toString() {
	return "Name of person: "+name+"; Name of friend: "+friend.name;
    }
}

public class lecture19_slim {
    public static void main(String[] args) {
	
	Person a = new Person("Dave");
	Person b = new Person("Jeff");
	Person c = new Person("Nate");
	Person d = new Person("Tony");
	
	a.set_friend(b);

	System.out.println("Part 1:");
	System.out.println(a);

	System.out.println("Part 2:");
	b.set_friend(new Person("Alan"));
	System.out.println(b);

	System.out.println("Part 3:");
	c = d; 
	c.set_friend(b);
	System.out.println(a);
	System.out.println(b);
	System.out.println(c);
	System.out.println(d);
    }
    
}

/* output:
Part 1:
Name of person: Dave; Name of friend: Jeff
Part 2:
Name of person: Jeff; Name of friend: Alan
Part 3:
Name of person: Dave; Name of friend: Jeff
Name of person: Jeff; Name of friend: Alan
Name of person: Tony; Name of friend: Jeff
Name of person: Tony; Name of friend: Jeff
*/
