this关键字及static关键字

this关键字

 this,当前对象的默认引用。(调用这个方法的对象的引用)

在一个类中,其中一个构造方法调用其他构造方法可以使用this关键字。

1、调用成员变量,用来解决成员变量和局部变量同名的问题。

2、在本类中构造调用其他构造方法。(注意:在构造方法中调用其他构造方法时,this语句必须方法在第一句)

static关键字

static关键字可以用于成员变量、方法、代码块和类。

static修饰的变量称为静态变量。

static修饰的方法称为静态方法。

static修饰的初始化代码块,称为静态初始化块。

静态的解释:static关键字

静态、静止的。静态变量不会随着对象的变化而变化

加载时机:

随着类的加载而加载。

静态变量随着类的加载进方法区,就直接在静态区给开辟了存储静态变量的内存空间

静态变量优先于对象而存在

静态变量被所有该类对象所共享

代码层面:可以使用类名直接调用,不需要使用对象名称。在不创建对象的前提下,仍然可以使用这个静态变量。建议使用类名来访问。

概念上,所属不同:

  非静态变量属于对象

  静态变量属于类,类变量

内存空间不同,存储位置不同

  非静态变量属于对象,所以存储在堆内存中

静态变量属于类,存储在方法区的静态区中

内存时间不同,生命周期不同

  非静态变量属于对象,所以生命周期和对象相同,随着对象的创建而存在,随着对象的消失而消失

静态变量属于类,所以生命周期和类相同,随着类的加载(创建对象、类名访问静态变量、类名访问静态方法、反射的方式、加载子类、运行某个测试类)而存在,随着类的消失(内存管理)而消失

访问方式不同

  非静态变量只能使用对象名访问

  静态变量既可以使用对象访问,也可以通过类名访问:

    类名.静态变量名

    类名.静态方法名()

静态方法可以直接访问静态变量和静态方法。(静态可以访问静态)

静态方法不能直接访问普通成员变量或成员方法。反之,成员方法可以直接访问类变量或静态方法。(静态不能访问非静态)

静态方法中,不能使用this关键字。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

曲靖花式通幽处

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值