方法

方法的内存原理

  • 方法在没有被调用的时候,在方法区的字节码文件中存放
  • 方法被调用的时候,需要进入到栈内存中运行

首先将test.class文件放到方法区中


先执行main方法,将main方法提到栈内存中运行,执行main方法的第一行代码 int sum = add (10,20);main方法暂停,将add方法提到栈内存中,将10和20传给a和b,在add方法中开辟a变量和b变量的空间在存储10和20,执行int c = a + b;将结果30直接返回,给到sum变量


add方法调用完成后,add方法从栈内存中退出去,main继续执行下一行代码,打印完成后main方法也从栈内存中退出去

方法的运行区域在哪?

  • 栈内存

方法的参数传递机制

java的参数传递机制:值传递

  • 在传输实参给方法的形参的时候,并不是传输实参变量本身,而是传输实参变量中存储的值,这就是值传递

注意:

  • 实参:如在方法内部定义的变量
  • 形参:如在定义方法时,“()”中所声明的参数


引用类型的参数传递


基本数据类型和引用数据类型在参数传递时候有什么相同和不同

  • 都是值传递
  • 基本数据类型的参数传输存储的数据值
  • 引用数据类型的参数传输存储的是地址值

方法重载

  • 同一个类中,出现多个方法名称相同,但是形参列表是不同的,那么这些方法就是重载方法