第六节:Java方法定义

目录

1 .方法的定义与语法规则

2. 参数与参数列表

3 .方法重载

4. 返回值

构造方法


在之前的章节中,我们经常使用到System.out.println(),它是什么呢?

  • println() 是一个方法

  • System 是系统类

  • out 是标准输出对象

这句语句的意思是调用系统类 System 中的标准输出对象 out 中的方法 println()。

1 .方法的定义与语法规则

Java中的方法,我们可以将其看成一个功能的集合,他们是为了解决特定问题的代码组合。比如司机会开车,老师会教书一样,不同的方法可以实现不同的功能。

方法的定义语法:

在上面的语法说明中:

  1. 访问修饰符:代表方法允许被访问的权限范围, 可以是 public、protected、private 甚至可以省略 ,其中 public 表示该方法可以被其他任何代码调用,其他几种修饰符的使用我们会在后面章节中详细讲解。

  2. 返回值类型:方法返回值的类型,如果方法不返回任何值,则返回值类型指定为 void (代表无类型);如果方法具有返回值,则需要指定返回值的类型,并且在方法体中使用 return 语句返回值。

  3. 方法名:是方法的名字,必须使用合法的标识符。

  4. 参数列表:是传递给方法的参数列表,参数可以有多个,多个参数间以逗号隔开,每个参数由参数类型和参数名组成,以空格隔开。当方法被调用时,传递值给参数。这个值被称为实参或变量。参数列表是指方法的参数类型、顺序和参数的个数。参数是可选的,方法可以不包含任何参数。

  5. 方法体:方法体包含具体的语句,定义该方法的功能。

根据方法是否带参、是否带返回值,可将方法分为四类:

  • 无参无返回值方法

  • 无参带返回值方法

  • 带参无返回值方法

  • 带参带返回值方法

例如一下代码的calcSum方法用来计算两门课程的成绩总分:

如上所示:方法名为calcSum,它的修饰符是public,它有两个参数int aint b,在方法调用的时候必须传入这两个参数。它有一个int 型的返回值,所以在方法里,有一条语句return sum;用来返回sum的值,其中sum类型也为int 型。而在方法调用的时候,我们用一个int 型变量rSum来接收这个返回值。方法calcSum实现了将两门课程的总成绩算出并返回。

注意:

  1. 方法体放在一对大括号中,实现特定的操作

  2. 方法名主要在调用这个方法时使用,需要注意命名的规范,一般采用第一个单词首字母小写,其它单词首字母大写的形式

  3. 调用方法的语法是对象名.方法名(类和对象后面会讲到)

2. 参数与参数列表

在现实生活中,我们为了完成某件事情之前是需要一些条件的,比如我们买东西肯定是需要钱的。当然,方法也是如此。我们需要方法帮我们完成某项功能的时候,需要根据需求去调整条件。于是就有了参数。

我们可以通过在方法中加入参数列表接收外部传入的数据信息,参数可以是任意的基本类型数据或引用类型数据。

例如:

 

上面就是一个方法,方法名为printName,无返回值,参数类型为String,参数名name,它的功能是打印姓名,我们通过参数将姓名传入到这个方法中,利用方法将姓名输出到控制台上。

调用带参方法与调用无参方法的语法类似,但在调用时必须传入实际的参数值。语法为对象名.方法名(参数1,参数2...)

在这里我们必须区分什么是实参什么是形参。我们先看一个例子。

 现在我们可以通过内存的图示来简单地说明一下。

上图是方法调用前内存的情况,所有的变量都存放在桟中,由系统统一管理,因为我们在定义变量rAve时未对它进行初始化,所以它的值是随机的,由它所在空间原有的值决定。

我们在创建对象时系统也会为对象分配内存空间,这里不详细说明

方法调用时,系统会专门为方法开辟一块空间用来存放方法内的变量。此时大家可以看到,sub1sub2两个实参其实并没有进入方法中,只是将它们两个的值赋值个了形参ab

方法调用结束后,系统会释放掉方法所产生的空间,回收系统资源。该方法有返回值,并被rAve接收了。

注意:

  1. 调用带参方法时,必须保证实参的数量、类型、顺序与形参一一对应

  2. 调用方法时,实参不需要指定数据类型

  3. 当方法参数有多个时,多个参数间以逗号分隔

3 .方法重载

在Java中通过在类中写多个方法,这类方法的方法名相同,方法的参数列表不同(参数的个数和参数类型的不同)来事现方法的重载。所谓方法重载就是:在一个类中,有一系列的方法具有方法名相同,但参数列表不同,这类方法的现就是方法重载。

 

在进行方法重载的时候需要遵循以下的规则:

  • 在使用方法重载的时候,必须通过方法中不同的参数列表来实现方法的重载。如:方法的参数个数不同或者方法的参数类型不同。

  • 不能通过访问权限,返回值类型和抛出的异常来实现重载

  • 重载的方法中允许抛出不同的异常

  • 可以有不同的返回值类型,只要方法的参数列表不同即可

  • 可以有不同的访问修饰符

4. 返回值

如上面的例子所示,方法是一个实现了条件输入和结果输出的过程,往往我们需要对方法的结果进行进一步的处理,这时候我们就需要方法返回值了。

注意:

  1. 如果方法的返回类型为 void ,则方法中不能使用 return 返回值。

  2. 方法的返回值最多只能有一个,不能返回多个值。

  3. 方法返回值的类型必须兼容,也就是说如果返回值类型为 int ,则不能返回 String 型值

  4. 调用带返回值的方法时,由于方法执行后会返回一个结果,因此在调用带返回值方法时一般都会接收其返回值并进行处理

例子:实现一个方法,接收一个层数值n,打印一个有n层的直角三角形,并返回底边最后一个值。并打印出来。

构造方法

当一个对象被创建时候,构造方法用来初始化该对象。构造方法和它所在类的名字相同,但构造方法没有返回值。

通常会使用构造方法给一个类的实例变量赋初值,或者执行其它必要的步骤来创建一个完整的对象。

不管你与否自定义构造方法,所有的类都有构造方法,因为Java自动提供了一个默认构造方法,它把所有成员初始化为0。

一旦你定义了自己的构造方法,默认构造方法就会失效。

实例

下面是一个使用构造方法的例子:

你可以像下面这样调用构造方法来初始化一个对象:

大多时候需要一个有参数的构造方法。

实例

下面是一个使用构造方法的例子:

 

你可以像下面这样调用构造方法来初始化一个对象:

注:

当一个对象被创建时候,构造方法用来初始化该对象。构造方法和它所在类的名字相同,但构造方法没有返回值。

通常会使用构造方法给一个类的实例变量赋初值,或者执行其它必要的步骤来创建一个完整的对象。

不管你与否自定义构造方法,所有的类都有构造方法,因为Java自动提供了一个默认构造方法,它把所有成员初始化为0。

一旦你定义了自己的构造方法,默认构造方法就会失效。

欢迎关注微信公众号:Java的学习之路

里面资料非常全,从java初级到高级都有,视频,电子书,面试宝典,简历模板,经典案例,源码分析程序员故事以及解决bug方法。。。。应有尽有,可以推荐大家一起学习下!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值