java基础学习四之方法

概念实现特定功能的一段代码,可反复使用

1.方法的定义

定义位置:类的内部,与其他函数并列(main函数)。

方法的定义格式如下:

修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2,......){
    执行语句
    ………
    return 返回值;
}

 

对于上面的语法格式中具体说明如下:

  • 修饰符:方法的修饰符比较多,有对访问权限进行限定的,有静态修饰符static,还有最终修饰符final等。
  • 返回值类型:用于限定方法返回值的数据类型
  • 参数类型:用于限定调用方法时传入参数的数据类型
  • 参数名:是一个变量,用于接收调用方法时传入的数据
  • return关键字:用于结束方法以及返回方法指定类型的值
  • 返回值:被return语句返回的值,该值会返回给调用者

需要特别注意的是,方法中的“参数类型 参数名1,参数类型 参数名2”被称作参数列表,它用于描述方法在被调用时需要接收的参数,如果方法不需要接收任何参数,则参数列表为空,即()内不写任何内容。方法的返回值必须为方法声明的返回值类型,如果方法中没有返回值,返回值类型要声明为void,此时,方法中return语句可以省略。

 

案例

public class MethodDemo01 {
    public static void main(String[] args) {
        int area = getArea(3, 5); // 调用 getArea方法
        System.out.println(" The area is " + area);
    }
 
    // 下面定义了一个求矩形面积的方法,接收两个参数,其中x为高,y为宽
    public static int getArea(int x, int y) {
        int temp = x * y; // 使用变量temp记住运算结果
        return temp; // 将变量temp的值返回
    }
}

2.方法调用图解

通过一个图例演示getArea()方法的整个调用过程,如下图所示。

 

 

从上图中可以看出,在程序运行期间,参数x和y相当于在内存中定义的两个变量。当调用getArea()方法时,传入的参数3和5分别赋值给变量x和y,并将x*y的结果通过return语句返回,整个方法的调用过程结束,变量x和y被释放。

 

3.方法的参数

规定:形参和实参的数据类型必须一样

  1. 方法定义时的参数声明。【形参】
  2. 方法调用时传入的参数。【实参】
  3. 方法定义时,可以放任意多个参数。
  4. 形参和实参的个数一定要一样。

参数的个数,是根据你实际的业务需求来确定的。并不是定义的时候一定要有或者要有多少个

 

4.方法的返回值

  1. void:方法不需要返回值
  2. void/基本数据类型/引用数据类型
  3. 使用return关键字,进行方法值的返回; 方法为void时,return代表结束本次方法调用。
  4. 调用方法时,使用对应类型,接受方法的返回值
  5. 方法所有分支,必须都有对应的返回值

 

5.方法的重载

定义:一个类中定义多个名称相同的方法,但是参数的类型或个数必须不同

注意事项:

  • 重载方法参数必须不同:
    • 参数个数不同,如method(int x)与method(int x,int y)不同

    • 参数类型不同,如method(int x)与method(double x)不同g

    • 参数顺序不同,如method(int x,double y)与method(double x,int y)不同

  • 重载只与方法名与参数类型相关与返回值无关
  • 如void method(int x)与int method(int y)不是方法重载,不能同时存在
  • 重载与具体的变量标识符无关
  • 如method(int x)与method(int y)不是方法重载,不能同时存在

 

6.参数传递图解与结论

 

通过上面的两段程序可以得出如下结论:

  • 当调用方法时,如果传入的数值为基本数据类型(包含String类型),形式参数的改变对实际参数不影响
  • 当调用方法时,如果传入的数值为引用数据类型(String类型除外),形式参数的改变对实际参数有影响
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值