You need to know the basic structure of a method definition in order to answer your question. Basically, method consists of modifiers, return type, method name, parameters and then the method body. here's a pseudo-code to better understand the structure of a method definition:
Now, let's create a java method based on this pseudo-code:
public and
static keywords are modifiers.
long is a data type that will be returned after its body is executed.
getMaxMinusCurrent is a method name.
long val is a parameter. it consists of a data type and a parameter name.
{} is a method body. Codes inside of these braces are executed once the method is called(or invoked).
return is a keyword that makes the execution exit the method body. If your method has a return type that is not
void, you can add a value after the keyword and that value will be returned to the caller once the execution exits the method via return keyword. The data type of the value should be the same as the return type.
Method overloading, to put it simply, is defining methods that have similar construct.
For example:
int findMax(int[] n1){/*method-body*/}
int findMax(int n1, int n2){/*method-body*/}
In the example above, findMax has two forms: a method with an array parameter and a method with two int parameters.
If you understand my explanation above then, I think you could answer your own question.
I think this blogspot has an alright explanation regarding java methods:
Java Tutorial: Methods