活动地址:CSDN21天学习挑战赛
一、关于方法的基本概念
1.什么是方法
定义:方法是一种语法结构,它可以把一段代码封装成一个功能,以方便重复调用。
理解:其实方法就相当于C语言的函数
2.方法的优点
- 提高了代码的复用性
- 让程序逻辑更加清晰
二、方法的定义与使用
1.方法的定义
基本格式【完整定义】如下:
实例代码:
public static int add(int a,int b){
int c = a + b;
return c;
注意以下几点:
1. 方法如果没有返回值,则返回值类型处应为 void
2. 当有具体返回值类型的时候,一定要有return语句
3. 但当返回值为void的时候,也是可以用return ;起到退出方法的作用的
4. 形参列表可以有多个参数,也可以没有参数
5. 如果有多个参数,则必须用","隔开,且不能赋初值【Python可以】
2.方法的使用
首先,注意方法不可以嵌套定义,但是可以嵌套使用;
其次,方法调用的时候实参必须严格匹配定义时的形参的类型和位置【这涉及到后面的方法重载特性】
最后,方法如果有返回值,则一定要给一个变量用来接收返回值
三、方法的内存分配
1.内存分配图
见上图,可知
方法在没有被调用的时候,在方法区中的字节码文件中存放
方法被调用的时候,需要进入到栈内存中运行
2.关于形参传递
结论:形参传递的都是值传递,传递的是实参存储的值
但是又根据实参类型不同最终访问内存有所不同,具体如下:
- 当实参类型是基本类型时,传递存储的数据值
- 当实参类型是引用类型时,传递存储的地址值 — 如数组类型,最终在堆内存寻找实际存储的数据
四、方法重载
1.重载的定义
定义:同一个类中,出现多个方法名称相同,但是形参列表是不同的,那么这些方法就是重载方法。
2.具体表现
形参列表不同指的是:形参的个数、类型、顺序不同,不关心形参的名称
注意,个数、类型、顺序是或的关系,只有有其一不同,且方法名相同,即可构成重载
具体如下-----
3.重载与重写的区别
(1)何为重写?
重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!
(2)主要区别
参考:
- 黑马程序员pdf笔记(需要可评论区留言)
- 菜鸟教程 Java重载