Question: I can't answer completely "why should we call "**void**" is '**return type**'?"

*How do I prove that "**void**" is a type?*

Answer: 
Quote:

> 
> TYPE
> 
> 
> public static final Class TYPE  
> 
> The Class object representing the primitive Java type void.
> 
> 
> 

Taken from : <http://download.oracle.com/javase/1.4.2/docs/api/java/lang/Void.html>

Or have I misunderstood the question?
`void` is a type in the Java language (you can read that directly in the Java Language Specification).
However the type `void` has no member values, that is no concrete value will ever have the type void. `void` is therefore used to indicate that a method cannot return a value when called (that is `void` is the type of "no value").