package model; import java.sql.Date; public class Human extends Creature{ private String name; private Date dob; private Date now; /** * Constructor * @param name * @param dob */ public Human(String name, String dob) { super(); this.name = name; if (dob != "") { this.dob = Date.valueOf(dob); this.now = new Date(System.currentTimeMillis()); } } /** * Overloaded Constructor * @param name */ public Human(String name) { this(name,""); // call other constructor } public String getName(){ return this.name; } public int getAge() { if (this.dob != null){ if (this.now.before(this.dob)) { throw new IllegalArgumentException("Date of birth cannot be in the future."); } else { long diff = this.now.getTime() - this.dob.getTime(); double age = diff / 1000 / 60 /60 / 24 / 365.26; return (int) age; } } else { return super.getAge(); } } }