java中static关键字以及它和this为什么不能一起使用

首先,类中加了static的方法和属性都属于静态方法和静态属性,代表着属性或方法属于类,即其不和对象创建后一起放在堆内存中,而是在类的方法区中。在Java中,类的方法区是用于存储类的信息和静态变量的内存区域。它在程序启动时被创建,并在程序结束时被销毁和类一起放在内存里。即在程序运行期间,它就已经存在,不需要对象实例化来获取。它的生命周期和类一样,类的产生和销毁就伴随着静态变量和方法的产生和销毁。所以其也是作用于所有对象。

当对static的变量进行修改是,下次调用时的结果将是上一次修改后的结果

       //main方法
         Teacher.name="福子";
        System.out.println(Teacher.name);
class Teacher{
    public static String name="花花";
}

 

为什么不能和this一起使用

因为this时对象的引用,而static是对类中静态变量和方法的修饰,二者指向不同。或者你也可以这么想,(假设在static的方法里面调用了this是不是就意味着可以调用其他的普通方法,可是被static修饰的方法整体是所有对象共有的,那this所引用的方法不也是共有的了?那为什么还要用this引用呢?)

花花和福子是我家的小主人啦,最后,如果你觉得博客帮助到你的话,请给我一个赞或者关注吧,这真的对我很重要!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值