方法

方法的概念

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.⽅法的重载与⽅法的修饰符和返回值没有任何关系

基本原理:

当⽅法名称⼀致时,通过形式参数列表的不同来选择要执⾏的⽅法。

判断

如何判定多个⽅法是否是重载的?衡量标准,要同时满⾜以下三条:

  1. 必须同一个类中
  2. 方法名称必须一致
  3. 参数列表必须不同(顺序,个数,类型)

和static、public、返回值、void等等无关

优点:

调用方法更方便、更简洁、满足了不同的情况,最终要的是可以通过方法重载给类提供不同的构造方法

以上就是简单的对Java中的方法进行的介绍,欢迎各位一起讨论!