/* Organize data for any Person:  name, age, best friend */
class Person {
	private String name;
	private int age;
	private Person friend;
	public final static int MATURE=18;
	
	// Constructors
	public Person(String name, int age) {
		this.name = name;
		this.age = age;
	}
	public Person(String name, int age, Person f) {
	    this.name = name;
	    this.age = age;
	    friend = f;
	}

	// Make a friend with Person p
    public void makeFriend(Person p) {  friend = p; }
    
    // Become a friend of Person p
    public void beFriendOf(Person p) {
        p.friend = this; 
        // or call makeFriend method:  p.makeFriend(this);
    }

    // Getters
    public String getName() {  return name; }
    public int getAge() {  return age; }
    public Person getFriend() { return friend; }

	// Determine if self is an adult
	public boolean isAdult() {	 return age >= MATURE; }
	
	// Show object data
	public String toString() {
		return name + " is " + age;
	}
} // class Person

