Method Definition: Method name, return value, parameter list, modifier (permission modifier, final,static), implement body.
Reference from: Java Programming and Engineering practice
Signature of the method:
The only element that distinguishes the other method: (1) the method name; (2) the list of parameter types (parameter order and type). This is the signature of the method.
The signature of the method does not include the return value of the method. Although each overloaded method can have a different return type, the return type is not sufficient to distinguish which method is being used.
Example: (1) public void on () {}
public int on () {}; Two method compilers are still considered the same method and cannot be defined in a class at the same time.
(2) pubic void on () {}
private void On () {}; method modifiers are different, but the compiler thinks it is the same method and cannot be defined in the same class.
(3) public void on (int a,int b) {}
public void on (int b,int a) {}; only parameter names are different.
Overload:
A method with the same method name in a class but a different list of parameter types is called overloading.
Example:public class light{
public void on () {}
public void on (int color) {}
}
Overloaded technology is actually more because of the need to abstract and describe problems. If the lights are turned on, but only because the specifics are different, and to declare multiple functions of different names, the readability of the entire code becomes worse.
Example
The System.out.println () print function used to print symbols in the console. It has multiple overloads.
public void println ();
public void println (Boolean x);
public void println (char x), and so on.
Example
Constructors use overloaded functions, which can be the cause of overloading techniques.
public class light{
Public light () {}
public light (int color) {}
public static void Main (string[] args) {
Light light = new Light ();
Light light = new Light (10);}
}
The new object must be followed by the name of the class, followed by parentheses to indicate that the constructor is called, and the parameter type list of the function uniquely distinguishes the calling constructor.
Design problems with function overloading:
Overloading does not have to be used deliberately, in the design and programming process naturally think of the function defined by the name of the behavior, the behavior of the same function naturally defines the same function name.
Example
Functions are similar, and the functions accept the same parameters.
public void on (int color);
public void on (int wattage);
The function signature looks the same, but the compiler cannot differentiate between the two functions, and a compilation error occurs.
Resolution: Renaming one of the functions;
Java Learning 3 Member methods and function overloading