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

 我来答
冷夙忷璝滚襕
推荐于2018-02-14
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
在方法中定义使用的this关键字,它的值是当前对象的引用.也就是说你只能用它来调用属于当前对象的方法或者使用this处理方法中成员变量和局部变量重名的情况.
而且,更为重要的是this和super都无法出现在static 修饰的方法中,static 修饰的方法是属于类的,该方法的调用者可能是一个类,而不是对象.如果使用的是类来调用而不是对象,则 this就无法指向合适的对象.所以static 修饰的方法中不能使用this.
liulidashuaige
2019-10-25
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部

this这个关键字指向的是对象的实例(就是那个new出来的实例,英文叫object instance)但是在此对象的实例中,被static修饰的方法是不存在的。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
禾木双子
推荐于2018-03-31
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
java中的static是类区域,换句话说就是所有该类的所有实例共享的区域,而this指的是当前的类实例索引。在类区域中是无法确定某个类实例的。
eg。
class A
{
private static Stirng Static = "123";
}

这个字符串Static所有A的实例都可以访问到。

反过来,

class A
{
public static void fun()
{
this // 这里不能使用 因为 static区域内不能确定是某个特定的A的实例
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2018-02-12
展开全部
static修饰的方法或者变量谁可以用,假如说static方法里可以用this关键字,那么这个this指代的是什么?this是当前执行者,这个执行者必须是不可变的,this需要一个稳定的家。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式