java:在java中为什么静态变量没有this引用

java:在java中为什么静态变量没有this引用,第1张

this指当前对象的实例。而静态变量无需实例化就可以构建,使用。而且无论是否有实例,有多少个实例,静态对象都指向同一个。所以不会有this的引用。

不仅如此。在静态方法中也不能使用this。

有一个理解方式。所有非静态函数都有一个隐藏的参数,this,把对象传了过去。静态方法没有这个隐藏参数,所以不能用this。

你好。

我的理解如下。首先你要知道static变量的初始化时间

这是一个子类创建的时候初始化过程:

这是之前写的博客:

网页链接

结论是: 父类static ->子类static->父类普通赋值语句->子类普通赋值语句->父类构造->子类构造

也就是说。一个类的static方法会先于类的任何一个对象之前初始化。

而this是当前对象。所以static初始化之后。this才会被创建。显然static方法是没有this的(它初始化的时候还没有this对象)

希望对你有所帮助。如果有错误欢迎指出。

可以在把具体的场景说一下吗,这样不太好回答

从现在的提问上来看 你可以直接创一个null

也可以传一个Context的子类 一般来说

或new一个Context 或者它的子类

以上就是关于java:在java中为什么静态变量没有this引用全部的内容,包括:java:在java中为什么静态变量没有this引用、Java中,static方法就是没有this的方法,怎么理解这句话、static 方法中 如何获取上下文 android 中 静态方法中不能使用this当做上下文的对象,怎么办等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9720096.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存