Java 方法的使用与方法重载

1.方法的定义与使用

1.1 什么是方法

方法就是一个代码片段,类似于C语言中的函数.

方法的复用性:已经写好了的代码块,可能被重复利用多次,这个时候就把这段代码抽象为方法.

比如判断一个数是否是素数,就是一个典型的会被利用多次的代码快,应该定义为方法.

1.2 方法的定义语法

public static 方法名 方法返回值(参数){
	//方法体代码
	[return 语句];
}
// 方法调用
返回值变量 = 方法名称(实参...);

注意:

  1. 该方法是否有返回值要看这个方法他的作用或者功能是啥,

    比如:求某几个数(int)的和=>我现在调用你这个方法就是想知道这几个数的和是多少,当然有返回值告知调用者返回值是多少=>返回int

  2. public 和 static 两个关键字在此处具有特定含义, 我们暂时不讨论, 后面会详细介绍.

  3. 方法定义时, 参数可以没有. 每个参数要指定类型

  4. 方法定义时, 返回值也可以没有, 如果没有返回值, 则返回值类型应写成 void

  5. 方法定义时的参数称为 “形参”, 方法调用时的参数称为 “实参”.

  6. 方法的定义必须在类之中, 代码书写在调用位置的上方或者下方均可.

  7. Java 中没有函数声明这样的概念.只用方法的名称和参数,没有具体的实现是不可以的.

1.3 方法的调用

例如:定义一个方法,实现两个整数相加

class Test {
 public static void main(String[] args) {
 int a = 10;
 int b = 20;        
     // 方法的调用
 int ret = add(a, b);
 System.out.println("ret = " + ret);
 }
    // 方法的定义
 public static int add(int x, int y) {
 return x + y;
 }
}
// 执行结果
ret = 30

方法调用的执行过程

基本规则

定义方法的时候, 不会执行方法的代码. 只有调用的时候才会执行.

当方法被调用的时候, 会将实参赋值给形参.

参数传递完毕后, 就会执行到方法体代码.

当方法执行完毕之后(遇到 return 语句), 就执行完毕, 回到方法调用位置继续往下执行.

一个方法可以被多次调用.

1.4关于实参和形参之间的关系(重点)

代码示例

class Test {
 public static void main(String[] args) {
 int a = 10;
 int b = 20;
 swap(a, b);
 System.out.println("a = " + a + " b = " + b);
 }
 public static void swap(int x, int y) {
 int tmp = x;
 x = y;
 y = tmp;
 }
}
//执行结果
a = 10 ;b = 20;

在Java中,方法的超参数传递只有值传递,所谓的值传递就是把实参的数值拷贝一份拿给形参,对实参没用任何影响.

例如:

image-20220409114505511

image-20220409114800127

在方法外部交换两个局部变量的场景在Java中压根就不存在。这个问题的解决需要引入引用数据类型(数组或对象)

image-20220409161250571

方法的返回值可有可无,没有返回值的方法使用void声明,在没有返回值的方法中,仍然可以使用return ;表示提前结束方法的调用。

image-20220409161350363

2.方法重载(overload)

定义:

方法重载发生"在同一个类中”,定义了若干个方法名称相同,参数列表不同(参数的类型或者个数不同)的一组方法,与返回值无关!这样的一组方法称为重载方法

例如:

image-20220409162525606

Java中 System.out.println (任意参数类型都可以).实际上就是因为System这个类中定义了N个重载方法

image-20220409162653708

注意:

下面代码不是方法的重载,只是返回值类型不同.

image-20220409162831263

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

面向丈母娘编程@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值