Java方法、详解
2021/5/11 12:28:24
本文主要是介绍Java方法、详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
方法(method)的定义
[修饰符列表] 返回值类型 方法名(形参列表){ 方法体 }
修饰符:可选的,告诉编译器如何调用该方法,定义了该方法的访问类型
返回值类型:根据需要返回的数据类型进行定义,有的方法无返回值则用关键字void;
方法名:即方法的名字,名字和形参列表共同构成方法名;
方法体:定义该方法的功能。
方法的调用
调用方法:对象名.方法名(形参列表)(当方法在同一类中也可以直接使用方法名(形参列表))
JVM(Java虚拟机)内存结构
JVM主要的三个内存空间:栈(stack)、堆、方法区;
方法区(类加载器(class loader)):将硬盘的xxx.class字码文件装载到JVM的时候,会将字节码文件存放到方法区中,也就是说方法区中存储的是代码片段。因为类加载器,方法区中最先有数据。
栈:在方法被调用时,该方法的内存空间需要在栈中被分配。方法调用叫做压栈,分配空间;方法结束叫做弹栈,释放空间。
方法重载(MethodOverload)
Java中允许方法名相同,但需要参数列表不同,否则编译器会报错。
在Java语法中的区分方式:
-
Java虚拟机通过方法名区分;
-
方法名相同时通过方法的参数类型进行区分
什么时候使用方法重载?
在同一个类,如果"功能1"和“功能2”功能相似时,可以方法名一致。
方法重载的发生条件:
-
在同一个类中
-
方法名相同
-
参数列表不同(参数个数不同时算不同、参数类型不同时算不同、参数顺序不同时算不同)
方法重载和返回值类型无关、方法重载和修饰符类型无关。
方法递归
-
方法自己调用自己;
-
当递归时程序没有结束文件,一定会发生栈内存溢出错误(StackOverflowError),所以递归必须要有结束条件;
-
结束条件对的,但也有可能出现内存溢出错误,大多数情况还是循环好,但是极少数情况下不使用方法递归程序是无法运行的;
-
当遇到内存溢出错误时怎么办:首先查看递归的结束条件对不对,其次递归条件问题时,需要手动扩大JVM的栈内存大小,(java -x)可查看调整堆栈大小的参数。
这篇关于Java方法、详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-25初学者必备:订单系统资料详解与实操教程
- 2024-12-24内网穿透资料入门教程
- 2024-12-24微服务资料入门指南
- 2024-12-24微信支付系统资料入门教程
- 2024-12-24微信支付资料详解:新手入门指南
- 2024-12-24Hbase资料:新手入门教程
- 2024-12-24Java部署资料
- 2024-12-24Java订单系统资料:新手入门教程
- 2024-12-24Java分布式资料入门教程
- 2024-12-24Java监控系统资料详解与入门教程