方法
方法的概念
Java的⽅法(Method)类似于其它语⾔的函数(Function),指⼀段 可以直接被另⼀段程序或代码引⽤的程序或代码。通俗讲,⽅法就是解决某件事情的办法,⽐如 我要上班,可以选择 步⾏,骑⻋,开⻋,公共交通,⽽每⼀个⽅式,在程序中就可能是⼀个⽅法。
方法的组成要素
⽅法的组成要素:修饰符、返回值、⽅法名、参数、⽅法体,五个要素
方法的补充说明
⽅法的优点:
1.使程序变得更简短清晰
2.有利于程序的维护(修改)
3.可以提⾼开发效率
4.可以提⾼代码的重⽤性
⽅法名的命名规则:
1.⽅法名必须以字⺟ 下画线 $ 数字组成
2.不能以数字开头
3.⽅法名尽量由单词组成,如果有多个单词,第⼀个单词⾸字⺟⼩写,其它单词⾸字⺟⼤写
4.在同⼀个类中,⽅法名⼀般不能重名(⽅法重载除外)
方法的内存展示
java的内存分区
java将内存分成了5块⼉,分别是堆区,栈区,⽅法区,本地⽅法区,寄存器
栈区:存放基本类型的变量,以及对象的引用值和函数主体,遵循先入后出的原则,⾥⾯存放数据的特点是:先进后出,⽤完⽴刻释放
堆区:存放的是实体(对象和数组),实体可以同时存放多个值,实体⾥⾯的变量如果不赋值,会有默认值.整型数据默认值是0,boolean—false
了解:
⽅法区:程序运⾏中的⼆进制⽂件等(⽐如:.class)
本地⽅法区:存放外界引⼊的c,c++等的内容(由于语言自己的完善,所以本地方法区是越来越小的)
寄存器:也可以称为计数器,记方法等被调用的次数.
堆区中的数据会在某个时刻被释放-通过垃圾回收机制.
垃圾回收机制是通过⼀个线程控制的,由于这个线程的等级⽐较低,所以不会⽴刻执⾏,数据就不会⽴刻释放
方法在内存中的工作原理
public class Demo5 {
//实例:求两个数的最⼤值
public static void main(String[] args) {
int value = getMax(4,5);
System.out.println(value);
}
public static int getMax(int a ,int b) {
if (a>b) {
return a;
}else {
return b;
}
}
}
执行过程:
1.程序开始执⾏后会先找到程序的⼊⼝main⽅法,main⽅法⼊栈,并执⾏main中的代码,给局部变量value开辟空间,执⾏getMax⽅法
2.getMax⽅法⼊栈,在⽅法内部会进⾏运算,求出a和b的最⼤值.
3.getMax⽅法会将return后⾯接收到最⼤值通过⽅法的返回值传到main⽅法,并赋值给变量value
4.当getMax执⾏完(可以是执⾏return或者执⾏⽅法的右⼤括号),会执⾏出栈操作
5.当main执⾏完,执⾏出栈操作,到此程序执⾏完成.
总结:通过内存展示我们可以更清晰的了解⽅法原理.
⽅法的重载
定义
同⼀个类中,⽅法名字相同,参数列表不同,就叫⽅法重载
说明:
1.参数列表的不同包括,参数个数不同,参数数据类型不同,参数顺序不同
2.⽅法的重载与⽅法的修饰符和返回值没有任何关系
基本原理:
当⽅法名称⼀致时,通过形式参数列表的不同来选择要执⾏的⽅法。
判断
如何判定多个⽅法是否是重载的?衡量标准,要同时满⾜以下三条:
- 必须同一个类中
- 方法名称必须一致
- 参数列表必须不同(顺序,个数,类型)
和static、public、返回值、void等等无关
优点:
调用方法更方便、更简洁、满足了不同的情况,最终要的是可以通过方法重载给类提供不同的构造方法
以上就是简单的对Java中的方法进行的介绍,欢迎各位一起讨论!