对象的行为

方法调用栈

当一个方法被调用时,将导致控制流程跳转到被调用的方法。然后,控制流程执行方法中的语句。而这所有的方法调用都维护在一个称为调用栈的结构中。当前正在执行的方法位于调用栈的顶部。当前方法执行完成后,就从调用栈的顶部移除,控制流程返回栈中的前一个方法。当一个新方法被调用后,这个新的方法就放在调用栈的顶部。

在Java程序中,第一个被调用的方法就是main(),该方法是JVM调用的。因此,main()方法总是在调用栈的底部。

调用方法

一个方法被调用时,该方法就被放在调用栈的顶部,直到方法执行完成。当一个方法正在执行时,会发生三种情况:

  • 方法返回一个值。在这种情况下,一个基本数据类型或引用类型被传回给方法的调用者。
  • 方法不返回一个值。在这种情况下,返回值被声明为void。
  • 方法抛出一个异常给方法的调用者

方法重载

当一个类有两个到多个同名但有不同参数雷彪的方法时,就是方法重载。

重载一个方法,只要发发的形式参数列表对编译器来说是截然不同的,从而使编译器能够区分我们想调用的方法是哪一个。

重载:相同的行为,不同的实现,根据不同的参数列表区分

特点:参数的个数可能不一样,参数的类型可能不一样,参数的顺序可能不一样,方法名一样。

注:方法与参数都一样,但是返回类型不一样,则不能重载。

这里写图片描述

构造器

Person someOne = new Person;

构造器是一个特殊的方法,它在类创建一个实例时被调用执行。

构造器的目的是初始化类的实例,使其成为一个有效的状态。只要是一个对象被创建,这个对象必须是由构造器中的数据成员正确地初始化为一个有效地状态。

构造器的名称必须要与类名称相同。定义有参构造的潜规则:定义有参规则之前,需要先定义无参构造。

  • 作用:产生对象。
  • 语法特点:没有返回值(连void都没有),方法名必须要和类名相同。
    构造器可以不写,编译器可以自动给我们生产一个公共的无参的构造器。
  • 构造器如果被我们程序员一旦显示的编写了,那么编译器将不会给我们产生任何

构造器产生对象的步骤:

  • 如果其他程序使用new构造器()调用构造方法,那么构造器就会去内存中申请内存空间(该对象那么大的空间)用于存放对象。
  • 去申请的内存空间中,为属性分配对应的存储空间。
  • 对属性进行初始化。
  • 执行我们在构造器中编写的代码。
局部变量、参数、返回地
对象
方法区常量池、编译后的代码(放在代码区)
本地方法区
程序技术区代码的执行顺序、方法栈

这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值