码迷,mamicode.com
首页 > 编程语言 > 详细

java.方法

时间:2019-10-15 16:22:14      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:res   注意   变量   自动   ++   构造方法   成员方法   完整   嵌套   

概述

方法就是完成某些特定功能的代码块,也就是其他语言所说的函数,在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
通过上面的例子,不难看出,重载就是在一个类中,有相同的函数名称,但形参不同的函。重载的结果,可以让一个程序段尽量减少代码和方法的种类。

方法重载的规则

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


参数列表不同包括:个数不同、顺序不同、类型不同。
仅仅参数变量名称不同是不可以的。
跟成员方法一样,构造方法也可以重载。

java.方法

标签:res   注意   变量   自动   ++   构造方法   成员方法   完整   嵌套   

原文地址:https://www.cnblogs.com/youngleesin/p/11677973.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!