Java - 方法

什么是java中的方法?

  - 方法就是一段代码片段,并且这段代码可以完成某个特定的功能、动作、是可以被重复的使用。

  - 方法就是类的一个动作。

  - 方法在C语言中也叫做函数 或 function。

  - 方法定义在类体当中,在一个类中可以定义多个方法,方法的编写位置没有先后顺序,可以随意。

  - 方法体当中不能再定义方法。

方法的语法结构

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

            方法体;
}
  public  int  sumInt (int a,int b) {

 	int c=a+b;

 	return c;
} ## 调用方法 - 静态方法(static修饰) 类名.方法名(实参列表1,2); - sum = sumInt (a , b); - 当两个方法在同一个类体中时, “类体.” 可以省略不写。 - return 出现在返回值为void 的方法当中,主要是为了用来结束当前方法。 - 非静态方法必须new对象之后才能调用 ## 实例 class MethodTest {
public static void main(String[] args){ // 调用静态方法
int a=3,b=10,c,d;
c=ScannerTest.minus(a,b); //调用非静态方法
ScannerTest st=new ScannerTest();
d=st.sumInt(a,b); //输出调用结果
System.out.println("静态方法调用结果:"+c);
System.out.println("非静态方法调用结果:"+d);
} //静态方法
public static int minus(int a,int b){
int c;
c=a-b;
return c;
} //非静态方法
public int sumInt(int a,int b){
int c;
c=a+b;
return c;
}
} ## 方法在执行过程中,在JVM中的内存是如何分配的? 1. 当方法只定义不调用,是不会执行的,并且在jvm中也不会给该方法分配运行所属的内存空间。 2. jvm在内存划分上分成这样三块主要的内存空间 * 方法区内存 * 堆内存 * 栈内存 ## 关于栈的数据结构 * 栈:stack,是一种数据结构 * 数据结构反应的是数据的存储形态 * 栈帧永远指向栈顶元素,栈顶元素处于活跃状态,其他元素静止。 * 压栈/入栈/push, 弹栈/出栈/pop * 压栈:给方法分配内存空间, 弹栈:释放该方法的内存空间。 * 栈数据结构存储数据的特点是,先进后出,后进先出。 ## 方法代码片段存在哪里?方法执行的时候执行过程的内存在哪里分配? * 方法代码片段属于class字节码文件的一部分,方法代码片段在类加载的时候,将其存储在方法区内存中,所以JVM中的三块主要内存空间,方法区内存最先有数据,存放了代码片段。 * 方法区内存中只有一份代码片段,但是可以被重复调用,但是每一次调用这个方法的时候,都需要重新分配独立的运行空间此空间需要在栈内存中分配,栈内存中分配方法运行所属的内存空间。 * 方法在调用的时候会给该方法分配独立的内存空间,在栈中分配,此时会发生压栈动作,方法执行结束之后,给该方法分配的内存空间全部释放,此时发生弹栈动作。 * 局部变量在方法体中声明,代码片段存储在方法区内存中,在栈中分配内存空间。

Day01_11_Java方法的更多相关文章

  1. javaSE27天复习总结

    JAVA学习总结    2 第一天    2 1:计算机概述(了解)    2 (1)计算机    2 (2)计算机硬件    2 (3)计算机软件    2 (4)软件开发(理解)    2 (5) ...

  2. mapreduce多文件输出的两方法

    mapreduce多文件输出的两方法   package duogemap;   import java.io.IOException;   import org.apache.hadoop.conf ...

  3. 【.net 深呼吸】细说CodeDom(6):方法参数

    本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ...

  4. IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法

    直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...

  5. 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例

    前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...

  6. [C#] C# 基础回顾 - 匿名方法

    C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...

  7. ArcGIS 10.0紧凑型切片读写方法

    首先介绍一下ArcGIS10.0的缓存机制: 切片方案 切片方案包括缓存的比例级别.切片尺寸和切片原点.这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要.图像格式和抗锯齿等 ...

  8. [BOT] 一种android中实现“圆角矩形”的方法

    内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行 ...

  9. JS 判断数据类型的三种方法

    说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...

随机推荐

  1. Python中的sklearn--KFold与StratifiedKFold

    KFold划分数据集的原理:根据n_split直接进行划分 StratifiedKFold划分数据集的原理:划分后的训练集和验证集中类别分布尽量和原数据集一样 #导入相关packages from s ...

  2. 使用gitlab构建基于docker的持续集成(二)

    使用gitlab构建基于docker的持续集成(二) gitlab docker aspnetcore Centos配置gitlab镜像并且启动 Centos配置防火墙 windows上访问gitla ...

  3. OpenGL中的简单坐标系初看+VAO/VBO/EBO

    你好,三角形 一: 关于坐标的问题 标准化设备坐标:输入的顶点数据就应该在标准化设备坐标范围里面即:x,y,z的值都在(-1-1)之间.在这个区间之外的坐标都会被丢弃. 1.1一旦顶点数据传入顶点着色 ...

  4. 学习版pytest内核测试平台开发万字长文入门篇

    前言 2021年,测试平台如雨后春笋般冒了出来,我就是其中一员,写了一款pytest内核测试平台,在公司落地.分享出来后,有同学觉得挺不错,希望能开源,本着"公司代码不要传到网上去,以免引起 ...

  5. android分析之Parcel

    将数据打包,跨进程传输(通过Binder).看看这货究竟是啥玩意: Parcel.java : public final class Parcel { private static final boo ...

  6. Vue中去除文本框回车默认事件

    使用v-on:keydown.enter.prevent即可 <input type="password" class="form-control" id ...

  7. P1200_你的飞碟在这儿(JAVA语言)

    题目描述 众所周知,在每一个彗星后都有一只UFO.这些UFO时常来收集地球上的忠诚支持者. 不幸的是,他们的飞碟每次出行都只能带上一组支持者.因此,他们要用一种聪明的方案让这些小组提前知道谁会被彗星带 ...

  8. python学习8 文件的操作

    本文拷贝了on testing 的<python之文件操作:文件的读写>,只做学习之用 python的文件读写通过 一.用open函数 二.对文件读写操作 三.读取文件位置定位 1. op ...

  9. 阿里二面,面试官居然把 TCP 三次握手问的这么细致

    TCP 的三次握手和四次挥手,可以说是老生常谈的经典问题了,通常也作为各大公司常见的面试考题,具有一定的水平区分度.看似是简单的面试问题,如果你的回答不符合面试官期待的水准,有可能就直接凉凉了. 本文 ...

  10. 使用 Android Studio 开发 widget 安卓桌面插件

    •What AppWidget 即桌面小部件,也叫桌面控件,就是能直接显示在Android系统桌面上的小程序: 这么说可能有点抽象,看图: 像这种,桌面上的天气.时钟.搜索框等等,都属于 APP Wi ...