开发者社区> 问答> 正文

java中为什么在static中不能使用this关键字啊?

已解决

java中为什么在static中不能使用this关键字啊?

展开
收起
一个臻吖 2022-04-02 14:32:06 697 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    Static方法是类方法,先于任何的实例(对象)存在。即Static方法在类加载时就已经存在了,但是对象是在创建时才在内存中生成。而this指代的是当前的对象

    在方法中定义使用的this关键字,它的值是当前对象的引用.也就是说你只能用它来调用属于当前对象的方法或者使用this处理方法中成员变量和局部变量重名的情况.

    而且,更为重要的是this和super都无法出现在static 修饰的方法中,static 修饰的方法是属于类的,该方法的调用者可能是一个类,而不是对象.如果使用的是类来调用而不是对象,

    则 this就无法指向合适的对象.所以static 修饰的方法中不能使用this.

    2022-04-02 17:36:05
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载