欢迎光临散文网 会员登陆 & 注册

150天打卡day09_方法

2021-03-29 14:36 作者:关阿姨的Java日记  | 我要投稿

今日内容

方法的定义

方法的调用

方法的参数

1. 方法(函数,过程)

各个语言都有方法的概念,有的语言称为函数或过程。

生活中的方法:

在我们的日常生活中,方法可以理解为是要做某件事情,而采取的解决方法。

例如:我今早准备去上班,这就面临着一件事情,我怎么到公司,这个问题需要解决,那解决办法就是我可以采用公交车或者是坐出租车的方式来学校,那么,这种解决某件事情的办法,我们就称之为是方法。

方法用于封装一个特定的功能,可以在程序中反复被调用,达到复用的效果。

方法有五个要素:修饰词,返回值类型,方法名,参数列表,方法体

2.为什么要使用方法

例如:我们经常使用的System.out.println()是什么?

println()是一个方法

System 是系统类

out 是标准输出对象

这句话的用法是调用系统类System中的标准输出对象out中的方法println()方法可以在程序中反复被调用,这样可大大减少代码的重复,从而便于程序维护。方法使程序变得更简短而清晰可以提高程度开发的效率。

3.方法的声明

方法用于封装一个特定的功能,定义时需要考虑五个要素:修饰词、返回值类型、方法名、参数列表、方法体。

  • 修饰符:控制方法的可见范围,方法的修饰符比较多,有对访问权限进行限定的,有静态修饰符static,还有最终修饰符final等,这些修饰符在后面的学习过程中会逐步介绍。

  • 返回值类型:用于限定方法返回值的数据类型.声明返回值必须要有return语句,如果没有返回值使用void声明返回值。

    • return关键字:用于结束方法以及返回方法指定类型的值

    • 返回值:被return语句返回的值,该值会返回给调用者

  • 方法名:方法名称,需要遵守Java命名规范

  • 参数列表:方法计算过程依赖的数据

    • 参数类型:用于限定调用方法时传入参数的数据类型

    • 参数名:是一个变量,用于接收调用方法时传入的数据

  • 方法体:方法中计算过程,往往是可以复用的计算过程

方法的优点是可以复用

4.方法的参数

是指在调用时传递给方法,需要被方法处理的数据

  • 方法可以有参数也可以没有参数,绝大部分方法为有参数的,因为方法有参数可以使方法的处理更加灵活;

  • 方法参数可以包含多个参数

  • 方法的参数和方法内部声明的变量一样都是局部变量,方法结束后就销毁了

  • 方法可以使用this.访问当前对象的实例变量,如果与局部变量没有冲突,可以省略局部变量

  • 方法的参数分为实际参数和形式参数

  • 在方法定义时,需要声明该方法所需要的参数变量(注意:声明该参数变量时需添加数据类型信息);

  • 在方法调用时,会将实际的参数值(数据)传递给方法的参数变量,同时必须保证传递参数的类型和个数符合方法的声明

5.方法的返回值

方法调用结束后可以返回一个数据,称之为返回值。当然,方法调用结束后也可以不返回数据,但不管是返回数据也好不返回数据也好,java语法规定,方法在声明时必须指定返回值类型,可分如下的两种情况进行处理:

  • 若方法不需要返回数据,将返回值类型声明为void。

  • 若方法需要返回数据,将返回值类型声明为特定数据类型。

如果方法需要返回数据,那么返回值类型声明为特定数据类型

return语句

  • 当方法返回一个值的时候,方法调用通常会被当作一个值,方法调用后需要返回值,那么Java中通常使用return语句来返回。

  • return 语句的作用是用于结束方法并且将数据返回给调用方

    例如:演示带返回值类型的方法的调用

例如:比较两个数字的最大值

方法的重载

为了体现设计的优雅,Java支持方法重载,也就是方法名一样,参数不同的完全不同的方法。重载的方法是完全不同的方法,只是方法名一样。

方法的签名

方法的签名(signatur)包括两部分

  • 方法名

  • 参数列表

是来自于英文单词signature,每个签名都必须是唯一的,不可以有相同的两个签名

那么程序在运行的时候,也是要求在一个类里面不可以有方法签名完全一样的两个方法。

代码

如果这样写编译器立马就会报编译错误,但是如果方法名相同,参数列表不同的话那是可以的

有的同学会有这样的误区,写成这样

public void pay(double a, int b){} public void pay(double b, int a){}

这样也是会报编译错误的a,b这两个变量名编译器认为他就仅仅是两个名字而已,不做任何判断,还是会认为这两个方法的参数列表是一样的

但是如果写成这样就是可以的

那么,在一个类里面如果有两个方法他们的方法名相同,参数列表不同,就可以把这称之为是方法的重载。

方法重载跟返回值类型和修饰符无关   Java的重载 是发生在本类中的,重载的条件是在本类中有多个方法名相同,但参数列表不同(可能是,参数个数不同,参数类型不同),跟返回值无关。


欢迎👏点赞+关注,笔芯❤️



150天打卡day09_方法的评论 (共 条)

分享到微博请遵守国家法律