Java——面向对象(三)——类的方法

目录

类的结构之二:方法

1、举例

2、方法的声明

3、说明

        return关键字

4、方法的重载

5、可变个数的形参

6、方法参数的值传递机制(重点)

7、递归方法


类的结构之二:方法

方法:描述类应该具有的功能。

        比如: Math类: sgrt()\random() \...

                Scanner类: nextXxx() ...

                Arrays类: sort() \ binarySearch() \ toString() \ equals() \ ...

1、举例

public void eat(){}

public void sleep(int hour){}

public String getName(){}

public String getNation(String nation){}


2、方法的声明

权限修饰符 返回值举型 方法名(形参列表){

        方法体

}

3、说明

3.1关于权限修饰符:默认方法的权限修饰符先都使用public

Java规定的4种权限修饰符: private、 public、 缺省、protected

3.2返回值类型: 返回值vs无返回值

        3.2.1 如果方法返回值,则必须在方法声明时,指定返回值的类型。同时,方法中,需要使
用return关键字来返回指定类型的变量或常量:“return 数据”。如果方法没返回值,则方法声明时,使用void来表示。通常,没返回值的方法中,就不需要使用return。但是,如果使用的话,只能“return;"表示结束此方法的意思。

        3.2.2定义方法该不该返回值?

                ①题目要求

                ②凭经验:具体问题具体分析

3.3方法名:属于标识符,遵循标识符的规则和规范,“见名知意”

3.4形参列表:方法可以声明0个,1个,或多个形参。

        3.4.1格式:数据类型1形参1,数据类型2形参2,...

        3.4.2我们定义方法时,该不该定义形参?

                ②题目要求

                ②凭经验:具体问题具体分析

3.5方法体:方法功能的体现。

return关键字

1.使用范围:使用在方法体中

2.作用:     ①结束方法

                ②针对于返回值类型的方法,使用"return 数据"方法返回所要的数据。

3.注意点: return关键字后面不可以声明执行语句。

4、方法的重载

重载:在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型不同。

“两同一不同”:同一个类、相同方法名

                        参数列表不同:参数个数不同,参数类型不同

判断是否是重载:跟方法的权限修饰符、返回值类型、形参变量名、方法体都没有关系

举例:Arrays类中重载的sort()/binarySearch()

在通过对象调用方法时,如何确定某一个指定的方法:

        方法名--->参数列表

5、可变个数的形参

1.定义:允许直接定义能和多个实参相匹配的形参(Varargs机制)

2.具体使用:

        2.1 可变个数形参的格式:数据类型 . . .变量 

        2.2 当调用可变个数形参的方法时,传入的参数个数可以使:0个,1个,2个....

        2.3 可变个数形参的方法与本类中方法名相同,形参不同的方法之间构成重载

        2.4 可变个数形参的方法与本类中方法名相同,形参类型也相同的方法之间不构成重载

        2.5 可变个数形参在方法的形参中,必须声明在末尾

        2.6 可变个数形参在方法的形参中,最多只能声明一个可变形参

6、方法参数的值传递机制(重点)

关于变量的赋值 :

        如果变量是基本数据类型,此时赋值的是变量所保存的数据值。

        如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。

方法的形参的传递机制:值传递  

1.  形参:方法定义时,声明的小括号内的参数

     实参:方法调用时,实际传递给形参的数据

2.值传递机制:

        如果参数是基本数据类型,此时实参赋给形参的是,实参真实存储的数据值

        如果参数是引用数据类型,此时实参赋给形参的是,实参存储数据的地址值 

7、递归方法

定义:一个方法体呢调用她它自身

方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制。

递归一定要向已知方向递归,否则这种递归就变成了无穷递归,类似于死循环。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

今天Java学会了嘛

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

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

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

打赏作者

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

抵扣说明:

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

余额充值