day09 java 静态方法vs非静态方法(实例方法) 实例方法如何用this 非静态方法内存分析

目录

静态方法(类方法) vs 非静态方法(实例方法)

实例方法内存图:

静态方法详细看:


静态方法(static修饰)调用方法:   类名.方法名()

静态方法在类加载的时候直接加载到方法区,被分配地址

非静态方法(实例方法)调用方法:   对象名.方法名

非静态方法只要被调用时才会被分配地址

静态方法(类方法) vs 非静态方法(实例方法)

    1.静态方法是随着类的加载而加载,实例方法是随着对象的创建加载(才有方法表的地址才能调实例方法)的。
    2.静态方法的调用:类名.静态方法名   对象名.静态方法名
      实例方法的调用:对象名.实例方法名
    3.静态方法中只能调用类变量和类方法
      实例方法中除了可以调用属性和实例方法外还可以调用类变量和类方法。
    4.实例方法中可以使用this(默认就有this)
    一般在实例方法形参和属性名一样时,在方法中会用this.属性名为属性,属性名(形参)作为形参传值
      类方法中不能使用this(this表示当前对象)(因为类方法和实例方法的加载时机不同)
    5.在静态方法中如果想要调用非静态方法只能创建对象再通过对象去调用

实例方法内存图:

实例方法是由实例对象调用的,每一个实例方法中默认有一个this变量用来记录当前对象(即调用该方法的实例对象)的首地址。

静态方法详细看:

day08 java 静态方法调用 方法的内存实现机制-CSDN博客

  • 9
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值