<< Chapter < Page Chapter >> Page >

Instance methods require an object

Because the two versions of the overloaded method are instance methods, it is necessary to have an object on which to call the methods. This is accomplishedby instantiating a new object of the SubC class, storing the reference to that object in a reference variable named obj , and calling the overloaded method on that reference.

Overloaded methods not in same class

The important point here is that the two versions of the overloaded method were not defined in the same class. Rather, they were defined in two differentclasses in the inheritance hierarchy. However, they were defined in such a way that both overloaded versions were contained as instance methods in an objectinstantiated from the class named SubC .

No surprises

There were no surprises. When the overloaded method was called twice in succession, passing the two different reference variables as parameters, theoutput shows that the version that was called in each case had a formal argument type that matched the type of the parameter that was passed to the method.

Back to Question 8

Answer 7

C. Test Object

Explanation 7

Another straightforward application

This is another straightforward application of method overloading, which produces no surprises.

This program defines a new class named Test , which extends the Object class by default. This means that an object instantiated from the class named Test can be treated either as type Test , or as type Object .

The program defines two overloaded methods named overLoadMthd . One requires an incoming parameter of type Test . The other requires an incoming parameter of type Object . When called, each of these methods prints the type of its incoming parameter.

The program instantiates two different objects of the class Test , storing a reference to one of them in a reference variable of type Test , and storing a reference to the other in a reference variable of type Object .

No surprises here

Then it calls the overloaded overLoadMthd method twice in succession, passing the reference of type Test during the first call, andpassing the reference of type Object during the second call.

As mentioned above, the output produces no surprises. The output indicates that the method selected for execution during each call is the method withthe formal argument type that matches the type of parameter passed to the method.

Back to Question 7

Answer 6

C. Test DumIntfc

Explanation 6

Overloaded methods with reference parameters

This is a fairly straightforward application of method overloading. However, rather than requiring method parameters of primitive types as in the previousquestions in this module, the overloaded methods in this program require incoming parameters of class and interface types respectively.

Type Test or type DumIntfc?

The program defines an interface named DumIntfc and defines a class named Test that implements that interface. The result is that an object instantiated from the Test class can be treated either as type Test or as type DumIntfc (it could also be treated as type Object as well) .

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Object-oriented programming (oop) with java. OpenStax CNX. Jun 29, 2016 Download for free at https://legacy.cnx.org/content/col11441/1.201
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?

Ask