You can't define multiple constructors or overloaded methods for the classes WOApplication, WOSession, WOComponent, or any other class that originates as an Objective-C class.
Overloaded method causes runtime error.
The pageWithName method creates the page by looking up and instantiating the component class that has the same name as the argument you provide to pageWithName . For this reason, your subclass of WOComponent shouldn't be given a package name. For example, if you create a component named MyPage.wo and place its Java file in the package myClasses.web , pageWithName won't find the MyPage.class file. Java is a more strictly typed language than is Objective-C or WebScript. If you're more familiar with Objective-C, you'll find that you need to cast the return types frequently.