- 方法:
组合在一起可执行操作语句的集合。
方法的作用:
●使程序变得更简短更清晰
●有利于程序维护
●提高程序开发效率
●提高代码重用性 - 方法的分类
●静态方法:被static修饰的
●成员方法:没有被static修饰的
●构造方法 - 方法的调用
静态方法的调用:
●在本类中:直接写方法名
●在其他类中:
先判断权限修饰符
○public 类名.方法名
○private 不能外部访问
●形参:方法参数列表的变量
●实参:调用方法时,传入的变量 - 语法格式
访问修饰符 返回值类型 方法名(参数列表){
●访问修饰符
方法体
}
○权限修饰符:public ,private,protected,不写(默认)任选其一
○其他修饰符:static,native,final
●返回值(数据类型):任选其一
○引用数据类型:
○基本数据类型:
●方法名:和类名,变量名规则相同
●参数列表(数据类型)(个数不限): - 方法的重载
特点:
●方法名一定要相同
●参数列表不同
○参数的数据类型不同
○参数的个数不同
○参数的顺序不同
●与方法的访问控制符和返回值无关 - 内存分析
●程序计数器:记录当前执行行数
●方法区/静态区:存放静态代码,方法
●本地方法栈:存放本地方法(native)给栈内存提供方法
●虚拟机栈/VM栈/栈内存:执行代码
○栈空间:栈内存,以栈数据结构为模型的一小段数据空间(弹夹)
○栈帧:栈空间内的元素。(弹夹的子弹)
○栈底元素:栈空间内最下面的栈帧
○栈顶元素:栈空间内最上面的栈帧
○压栈:向栈空间放入栈帧的过程
○弹栈:从栈空间弹出栈帧的过程
○先进后出
●堆区/堆内存:保存对象 - 运行机制
○javac编译代码成.class文件
○代码,先被加载到静态区
○栈内存会自动调用main方法===把main方法压栈
○如果说main方法里面不再调用其他方法,直接弹栈main(销毁),程序结束
○如果说main方法里面有其他的方法,继续压栈其他的方法。
○然后依次运行,依次弹栈,最终弹出main,程序结束。 - 递归:
自己调用自己 - 递归特性:
○必须有可最终达到的终止条件,否则程序将陷入无穷循环;
○子问题在规模上比原问题小,或更接近终止条件;
○子问题可通过再次递归调用求解或因满足终止条件而直接求解;
○子问题的解应能组合为整个问题的解。
初识方法与递归
于 2022-09-08 19:43:07 首次发布