0829work

一、方法调用栈
1.当一个方法被调用时,将导致控制流程跳转到被调用的方法,然后,控制流程执行方法中的语句
2.被执行的方法可能会调用其它方法,导致控制流程跳转到其它方法
3.所有的方法调用都维护在一个称为调用栈的结构中。当前正在执行的方法位于调用栈的顶部
4.当前方法执行完成后,就从调用栈的顶部移除,控制流程返回栈中的前一个方法。当一个新方法被调用后,这个新的方法就放在调用栈的顶部。
5.如果一个Java程序是多线程应用程序,那么它可以有多个调用栈

二、调用的方法
当一个方法正在执行时,会发生三种情况
① 方法返回一个值。在这种情况下,一个基本数据类型或引用类型被传回给方法的调用者。
② 方法不返回一个值。在这种情况下,返回值被声明为void。
③ 方法抛出一个异常给方法的调用者

三、方法签名
1.方法的签名包括方法名、参数列表、返回值的数据类型等信息
2.方法的签名不包含方法体内的任何语句。签名只是方法的声明部分。
3.如果一个方法不需要使用throws关键字声明任何异常,那么签名的这部分就可以不写
4.出现的顺序
① 访问修饰符
② 方法名
③ 形参列表
④ 抛出的异常列表

四、形参与实参
1.一个方法的签名包括一个形式参数(Parameter)的列表,形式参数列表用于声明传递给形式参数的数据称为实际参数传递到方法中的数据的类型
2.当方法被调用时,实际参数必须传递给形式参数列表中的每个形式参数
3.传递给形式参数的数据称为实际参数

五、按值调用
1.当实际参数传递给形式参数时,实际参数的数据被复制给形式参数
2.在方法调用之间复制数据的过程称为按值调用
实际参数如果是基本数据类型和string类型,在被调用的方法内部针对形不参做任何改变,实际参数所对应的变量不会改变。但是如果是其他引用数据类型,在被调用的方法内部针对形参做了改变,实际参数也跟着改变。
3.方法重载

六、方法重载
1.相同的行为,不同的实现,根据不同的参数类别来进行区分
2.特点
① 参数个数可能不一样,参数的类型可能不一样,参数的顺序也可能不一样
② 方法名一样
③ 方法参数一样,返回类型不一样,不是重载

引申:

七、构造器
1.语法特点
① 满足的条件:造器的名称必须与类名相同
② 构造器不能声明返回值,也不能返回void
③ 可以不写,编译器自动会生成一个公共五参的构造器
④ 构造器如果显示的编写了,编译器就不会再产生构造器
2.作用:产生对象
3.构造器产生对象的步骤
① 如果其他程序使用new,构造器()调用构造方法,那么构造器就会失去内存中申请内存空间,用于存放对象
② 去申请的内存空间中为属性分配对应的存储空间
③ 属性初始化,引用为空,基础为0,布尔为false
④ 执行构造器中编写的代码

4.定义有参构造的潜规则:在进行有参构造前,先定义无参构造

5.在构造器中使用this:只能放在构造器的第一行
6.访问器(get)和构造器(set)

八、内存分布
栈:局部变量,方法参数,方法返回地址
堆:创的对象(new)全局变量(属性)
程序计数器: 代码执行顺序,方法栈
本地方法区: api接口
方法区:常量池(π,字符串,(不可改变,所以是常量)final修饰的(不能改变,不能继承)编译后的代码放在代码区)

这里写图片描述

猜你喜欢

转载自blog.csdn.net/Lsy_Coder/article/details/82190831
今日推荐