java中为什么在static中不能使用this关键字
答案:3 悬赏:10 手机版
解决时间 2021-11-23 16:37
- 提问者网友:無理詩人
- 2021-11-23 04:59
java中为什么在static中不能使用this关键字
最佳答案
- 五星知识达人网友:爱难随人意
- 2021-11-23 05:45
java中的static是类区域,换句话说就是所有该类的所有实例共享的区域,而this指的是当前的类实例索引。在类区域中是无法确定某个类实例的。
eg。
class A
{
private static Stirng Static = "123";
}
这个字符串Static所有A的实例都可以访问到。
反过来,
class A
{
public static void fun()
{
this // 这里不能使用 因为 static区域内不能确定是某个特定的A的实例
}
}
eg。
class A
{
private static Stirng Static = "123";
}
这个字符串Static所有A的实例都可以访问到。
反过来,
class A
{
public static void fun()
{
this // 这里不能使用 因为 static区域内不能确定是某个特定的A的实例
}
}
全部回答
- 1楼网友:千杯敬自由
- 2021-11-23 08:29
static修饰的方法或者变量谁可以用,假如说static方法里可以用this关键字,那么这个this指代的是什么?this是当前执行者,这个执行者必须是不可变的,this需要一个稳定的家。
- 2楼网友:醉吻情书
- 2021-11-23 07:07
在方法中定义使用的this关键字,它的值是当前对象的引用.也就是说你只能用它来调用属于当前对象的方法或者使用this处理方法中成员变量和局部变量重名的情况.
而且,更为重要的是this和super都无法出现在static 修饰的方法中,static 修饰的方法是属于类的,该方法的调用者可能是一个类,而不是对象.如果使用的是类来调用而不是对象,则 this就无法指向合适的对象.所以static 修饰的方法中不能使用this.
而且,更为重要的是this和super都无法出现在static 修饰的方法中,static 修饰的方法是属于类的,该方法的调用者可能是一个类,而不是对象.如果使用的是类来调用而不是对象,则 this就无法指向合适的对象.所以static 修饰的方法中不能使用this.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯