Java中的方法,重载问题

本文介绍了Java编程中的方法概念,包括方法声明、分类(如重载)、内存区域划分及运行机制。通过实例展示了如何创建和利用方法实现代码复用,并深入解析了程序计数器、静态区、栈内存、堆内存等内存区域的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 方法

1.1 概述

方法就是很多条语句的集合,把这些代码放到方法中去,然后就可以多次使用这个方法

方法目的:代码复用,使程序更加简短清晰,提高开发效率

1.2 方法声明

 1.3 方法分类

1.4 入参和出参

public static void main(String[] args) {

                  // print_01();

                  // print_02(5);

                  int result = sum(12, 120);

                  System.out.println(result);

         }

         // 1 需求 : 向控制台打印1-10

         public static void print_01() {

                  for (int i = 1; i < 11; i++) {

                          System.out.println(i);

                  }

         }

         // 2 需求 : 向控制台打印1-N的值

         // 参数列表中的变量是局部变量

         public static void print_02(int n) {

                  for (int i = 1; i <= n; i++) {

                          System.out.println(i);

                  }

         }

         // 3 需求 : 计算 n~m的累加加和,并返回

         // ps : n和m均为整数,且 m > n

         public static int sum(int n, int m) {

                  int sum = 0;

                  for (int i = n; i <= m; i++) {

                          sum += i;

                  }

                  return sum;

         }

         // 4 需求 : 给定三个整数 , 返回其中最大的一个数, ps 你可以假设 三个数不相等

         public static int max(int a, int b, int c) {

                  if (a > b && a > c) {

                          return a;

                  } else if (b > a && b > c) {

                          return b;

                  } else {

                          return c;

                  }

         }

2.重载

方法唯一性:

      方法名和参数

方法重载:overload 方法名相同,参数列表不同

      列表不同分为:个数不同和类型不同(或的关系

 3. 内存分析

3.1 内存划分

Java Runtime Data Area : java运行时区域,一般叫JVM内存

 * 

 A. 程序计数器 :

 *                    一块较小的内存区域.作用可以看做是当前程序执行的位置指示器

 * 

B. 静态区/方法区 :

 *                    保存程序文件(class文件) 以及静态数据,方法被调用之前,也保存在静态区,内部还有运行时常量池

 * 

C. VM栈 : 又叫栈内存

 *                    栈内存是以栈数据结构为模型开辟的一段空间, 特性是先进后出

 *                    栈 : 是一种数据结构,先进后出,像弹夹

 * 

D  栈的构成因素

 *            栈空间 : 栈内存就是栈空间

 *            栈帧         : 栈空间中的每一个栈元素 就叫栈帧(比如 弹夹中的每一个子弹 就叫栈帧)

 *            栈底元素 : 第一个放进去的栈帧

 *            栈顶元素  : 最后一个放进去的栈帧

E  栈操作

 *            压栈 : 就是指把元素放入栈空间的过程

 *            弹栈 : 就是把元素弹出去的过程

 *

F  栈内存,是用来执行方法的,所有方法的执行,必须在栈内存进行

 *

G  本地方法栈 :

 *            用来执行一些本地方法,比如hashCode 等 , 模型和操作都和VM栈一致 , 不用管,

 * 

H   堆内存 :

 *                    用来保存对象

3.2 运行机制

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值