<< Chapter < Page Chapter >> Page >

The return type

The type of value returned must match the type of the declared return value for the method.

The void return type

If the return value is declared as void , you can use the syntax shown in Figure 8 to terminate the method. (You can also simply allow the method to run out of statements to execute.)

Figure 8 . An empty return statement.
return;

Returning a value

If the method returns a value, follow the word return with an expression (or constant) that evaluates to the value being returned as shown in Figure 9 .

Figure 9 . Returning a value from a method.
return x+y;

Return by value only

You are allowed to return only by value . In the case of primitive types, this returns a copy of the returned item. In thecase of objects, returning by value returns a copy of the object's reference.

What you can do with a copy the object's reference

Having a copy of the reference is just as good as having the original reference. A copy of the reference gives you access to theobject.

When Java objects are destroyed

All objects in Java are stored in dynamic memory and that memory is not overwritten until all references to that memory ceaseto exist.

Java uses a garbage collector running on a background thread to reclaim memory from objects that have become eligible for garbage collection .

An object becomes eligible for garbage collection when there are no longer any variables, array elements, or similar storage locations containing areference to the object. In other words, it becomes eligible when there is no way for the program code to find a reference to the object.

Exception handling

Exception handling is a process that modifies the flow of control of a program, so it merits being mentioned in this module. However, it is a fairlycomplex topic, which will be discussed in detail in future modules.

Suffice it at this point to say that whenever an exception is detected, control is transferred to exception handler code if such code has been provided. Otherwise, the program will terminate. Thus,the exception handling system merits being mentioned in discussions regarding flow of control.

Looking ahead

As you approach the end of this group of Programming Fundamentals modules, you should be preparing yourself for the more challenging ITSE 2321 OOPtracks identified below:

Miscellaneous

This section contains a variety of miscellaneous information.

Housekeeping material
  • Module name: Jb0230: Java OOP: Flow of Control
  • File: Jb0230.htm
  • Originally published: 1997
  • Published at cnx.org: 11/24/12
Disclaimers:

Financial : Although the Connexions site makes it possible for you to download a PDF file for thismodule at no charge, and also makes it possible for you to purchase a pre-printed version of the PDF file, you should beaware that some of the HTML elements in this module may not translate well into PDF.

I also want you to know that, I receive no financial compensation from the Connexions website even if you purchase the PDF version of the module.

In the past, unknown individuals have copied my modules from cnx.org, converted them to Kindle books, and placed them for sale on Amazon.com showing me as the author. Ineither receive compensation for those sales nor do I know who does receive compensation. If you purchase such a book, please beaware that it is a copy of a module that is freely available on cnx.org and that it was made and published withoutmy prior knowledge.

Affiliation : I am a professor of Computer Information Technology at Austin Community College in Austin, TX.

-end-

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