java.方法

概述

方法就是完成某些特定功能的代码块,也就是其他语言所说的函数,在Java中称为方法

定义一个方法的格式

定义方法的完整格式:

修饰符 返回值类型 方法名称(参数类型 参数名称,...){    
方法体    return 返回值;    
}

修饰符:    public static
返回值类型:    方法最终产生的数据结果是什么类型
方法名称:    方法的名字,规则和变量一样,小驼峰书写格式
参数名称:    进入方法的数据对应的变量名称       Tips:参数如果有多个,使用逗号分隔
return:    有两个作用,停止当前方法和将后面的返回值还给调用处
返回值:    方法执行后最终产生的数据结果

Tips:return后面的“返回值”,必须和方法名称前面的“返回值类型”,保持对应

注意事项:
1、方法定义的先后顺序可不固定
2、方法的定义不能产生嵌套包含关系
3、方法定义好不会自动执行,需要进行方法调用

方法调用

方法的三种调用格式:
1、单独调用:方法名称(参数);
2、打印调用:System.out.println(方法名称(参数);
3、赋值调用:数据类型 变量名称 = 方法名称(参数);
public class Demo02MethodDefine {
    public static void main(String[] args) {                
        //单独调用        
        sum(10,19);        
        //打印调用 
        System.out.println(sum(18,23));        
        //赋值调用        
        int a = sum(5,1);        
        System.out.println(a);    
        }    
    
    //定义一个两数相加的方法
    public static int sum(int a, int b){        
        int x = a + b;        
        return x;    
        }
}

参数

有参数:小括号当中有内容,当一个方法需要一些数据条件,才能完成任务的时候,就需要参数。例如两个数据相加,你需要提前给这两个数据。
无参数:小括号当中留空。一个方法不需要任何数据条件,自己完成独立的任务,就是无参数。例如固定带打印10次helloworld。
public class Demo03MethodParam {        
    public static void main(String[] args) {        
        method(1,99);        
        method1();    
    }
    
   //定义一个有参数的方法
    public static void method(int a, int b){        
        int result = a * b;        
        System.out.println(result);    
    }    
    
    //定义一个无参数的方法
    public static void method1(){        
        for (int i = 0; i < 10; i++) {            
        System.out.println("hello world");        
    }    
}

返回值

有返回值:方法中必须使用关键字return返回该值,返回类型为该方法的类型
无返回值:返回类型为void。
public class Demo03MethodReturn {
    public static void main(String[] args) {
        String a = tell();        
        System.out.println(a);        
        int b = sum(1,120);        
        System.out.println("sum方法的返回值是:"+b);    
    }    
    //定义一个无参数有返回值的方法    
    public static String tell(){      
            return "我的是一个有返回值的方法";    
    }    
    //定义一个有参数有返回值的方法    
    public static int sum(int a,int b){        
            return a+b;    
    }
 }

注意事项

1、方法因该定义在类中,但是不能在方法中
2、方法定义的前后顺序无要求
3、方法定义之后不会执行,如果希望执行,调用方式有:单独调用、打印调用、赋值调用
4、如果方法有返回值,那么必须写上“return 返回值”,不能没有
5、return后面的返回值数据,必须和返回值类型对应
6、对于void没有返回值的方法,不能写return后面的返回值,只能写return自己用来结束方法
7、对于void方法中最后一行的return可以省略不写
8、一个方法中可以有多个return语句,但是必须保证同时只有一个会被执行,两个return不能连写

方法重载

    方法重载(overload)是指同一个类中可以定义多个相同名字的方法,但是这些方法的参数列表是不同的。在调用时,会根据不同的参数列表匹配对应的方法
例如:在Person类中设计两个相同名字但参数列表不同的方法
public class TsetOverLoad {    
    public static void main(String[] args) {
        System.out.println(multiply(10,19));        
        System.out.println(multiply());        
        multiply(20);    
    }    
    
    //定义一个有参有返回值的方法    
    public static int multiply(int a,int b){        
    return a * b;    
    }   
    
    //重载为无参数又返回值的方法    
    public static int multiply(){        
    return 0;   
    }    
    
    //重载为有参数无返回值的方法    
    public static void multiply(int a){        
    System.out.println(a);    
    }
}
输出结果
190
0
20
通过上面的例子,不难看出,重载就是在一个类中,有相同的函数名称,但形参不同的函。重载的结果,可以让一个程序段尽量减少代码和方法的种类。

方法重载的规则

方法名称必须相同。
参数列表必须不同。
方法的返回类型可以相同也可以不相同。
仅仅返回类型不同不足以称为方法的重载。


参数列表不同包括:个数不同、顺序不同、类型不同。
仅仅参数变量名称不同是不可以的。
跟成员方法一样,构造方法也可以重载。
原文地址:https://www.cnblogs.com/youngleesin/p/11677973.html