Java教程

Java中的方法,重载问题

本文主要是介绍Java中的方法,重载问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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 运行机制

这篇关于Java中的方法,重载问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!