<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">//mo1
// "constructor overloading"

class Person {
    private String name;
    
    // make 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 set_name(String name) {
	this.name = name;
    }
    
    public String toString() {
	return "Name: "+name;
    }

}

public class mo1 {
    public static void main(String[] args) {
	
	Person p1 = new Person();
	p1.set_name("Borknagar");
	System.out.println(p1);
	
	Person p2 = new Person("Therion");
	System.out.println(p2);

    }
}

/* output:
Name: Borknagar
Name: Therion
*/
</pre></body></html>