Java方法详解

144 阅读3分钟

1.什么是方法,有什么用? (可以先看一下一个程序如果没有方法,会出现什么问题?)

方法(method)是可以完成某个特定功能的并可以被重复利用的代码片段。

方法的出现,让代码具有了很强的复用性。

.在C语言中,方法被称为“函数”。

.在Java中,不叫函数,叫做方法。

你定义了一个/抽取了方法出来,而这个方法确无法完成某个功能,那么你抽取的这个方法毫无意义。一般一个方法就是一个“功能单元”。

假设在以后的开发中,某个功能是可以独立出来的,建议定义为方法,这样以后只要需要这个功能,那么直接调用这个方法即可,而不是重复编写业务逻辑代码

2.方法最难实现的是:

根据业务怎么进行方法的抽取。

方法的返回值类型定义为什么?

方法的名字是什么?

方法的形式参数列表定义为什么?

……

一个方法就是一个独立的功能。

3.方法的定义

[修饰符列表]返回值类型 方法名(形式参数列表){

方法体;

}


4.方法的每一个细节学习

  1. 修饰符列表:可选项,目前先写成:public static
  2. 怎么理解返回值?返回值是一个方法执行结束之后的结果。
  3. 返回值类型都可以指定哪些类型?
  4. 返回值和“return”语句的关系。
  5. 方法名只要是合法的标识符就行,首字母小写,后面每个字母首字母大写。见明知意。
  6. 形式参数列表
  7. 方法体:方法体当中的代码遵循自上而下的顺序依次逐行执行。
  8. 方法怎么调用?“类名”什么时候可以省略?

实际参数列表,简称实参。(调用方法是传递的实际数据)

实参和形参的关系一一对应。

5.JVM的内部结构中三块比较重要的内存空间

方法区:

存储代码片段,存储xxx.class字节码文件,这个空间是最先有数据的,类加载器首先将代码加载到这里

堆内存:(面向对象)

栈内存:

static栈当中存储什么?

每个方法执行时所需要的内存空间(局部变量)

6.关于数据结构中的栈数据结构

原则:

  • 栈帧:永远指向栈顶部的元素(栈顶元素具有活跃权。)
  • 栈顶元素
  • 栈底元素
  • 压栈,入栈,进栈,push
  • 弹栈,出栈,pop

什么是数据结构,什么是算法?

7.分析程序运行过程中的内存变化

方法只定义不调用是不会执行的

方法调用时;压栈(在栈中给该方法分配空间)

方法执行结束时:弹栈(将该方法占用的空间释放,局部变量的内存也释放。)

方法重载overload

什么情况下我们考虑使用方法重载机制?

当功能相似的时候,建议将方法名定义为一致的,这样代码美观,又方便编程