What does void mean in Java?
In this post, we feature a comprehensive article explaining what Void means in Java.
1. What does void mean in Java?
In Java, void
keyword is used with the method declaration to specify that this particular method is not going to return any value after completing its execution. We cant assign the return type of a void
method to any variable because void
is not a data type.
2. Example
Let’s see an example of void
keyword usage.
VoidExample.java
package example.javaCodeGeeks; public class VoidExample { public static void main(String[] args) { voidMethod(); String returnedString = returningMethod(); System.out.println(returnedString); } public static void voidMethod() { System.out.println("voidMethod is called"); } public static String returningMethod() { return "returningMethod is called"; } }
Output
voidMethod is called returningMethod is called
In the above example, we have two methods voidMethod
with void
as return type and returningMethod
with String
as return type. If we try to assign the return value of voidExample to any datatype it will give us the compile-time error. when voidMethod
is called, the control simply goes to the calling method which is main
method after completing its task.
Even though void
method doesn’t return any value still, we can use return statement in void method when we want to stop the further execution.
Let’s see an example demonstrating the usage of the return keyword with a void method.
VoidWithReturnExample .java
package example.javaCodeGeeks; public class VoidWithReturnExample { public static void main(String[] args) { Person person1 = new Person(); person1.setName("Ben"); person1.setAge(-5); System.out.println(person1); Person person2 = new Person(); person2.setName("Tony"); person2.setAge(17); System.out.println(person2); } } class Person { // default age int age = 1; String name; public int getAge() { return age; } public void setAge(int age) { if (age < 1) return; this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return name + " is " + age + " year old."; } }
Output
Ben is 1 year old. Tony is 17 year old.
Here as we can see in the method setAge
of class Person
, if the age
is smaller than 1 the method will simply return the control to the caller, without executing the next statement.
3. When to use void method and method with return type
The most common use of void
method in java is when we want to change the internal state of the object but do not require the updated state. For example in VoidWithReturnExample.java
, the method setName
and setAge
are only used to change the name
and age
respectively, but they don’t return anything.
On the other hand, we use the method with return type when we require the result of some calculation or some value in return. For example, in VoidWithReturnExample.java the getter methods of the Person class are used to return the state of the object. In the same example in Person
class we have toString
method which computes a String using the name
and age
field and return the result, which is called when we print the Person
class object.
4. Download the source code
You can download the full source code of this example here: What does void mean in Java?