// "constructor overloading" -- follows same rules as method overloading // Big difference: when you write a constructor, Java removes the // default (or empty) constructor. class Person { private String name; // Two ways of instantiating a Person: Person() {} Person(String name) { this.name = name; } // Isn't Person() {} "default"? Yes, but only if you do NOT // give another constructor -- as soon as you do, you must give the // "default" if you want that form to exist. public void setName(String name) { this.name = name; } public String toString() { return "Name: "+name; } } public class constructor_overload { public static void main(String[] args) { Person p1 = new Person(); p1.setName("Borknagar"); System.out.println(p1); Person p2 = new Person("Therion"); System.out.println(p2); } } /* output: Name: Borknagar Name: Therion */