【发布时间】:2021-05-29 06:30:26
【问题描述】:
class school
{
int a;
public static void main(string[] args)
{
school obj = new school();
Console.WriteLine(obj.a);
Console.WriteLine(this.a);
}
}
尽管我们不能从静态方法访问实例变量,但在这里我们是通过使用引用变量“obj”并访问实例变量来实现的。但是,当我们使用 'this' 关键字时,它会显示一个错误,即 'this' 不能用于访问静态方法内的实例变量。 obj 包含对象的地址,所以它可以访问。即使“this”指向实例变量,但它仍然无法访问。 'this' 是否以不同的方式获取对象的地址?
【问题讨论】:
-
Java 怎么样?
-
Java 和 C# 共享几乎相似的语法。此外,这个问题是关于“this”关键字的。当我在 java 中编写代码时遇到了类似的错误,但无法在此处编写两种语言的代码。
-
在实例方法或构造函数中,this 是对当前对象的引用——调用其方法或构造函数的对象。您可以使用 this 从实例方法或构造函数中引用当前对象的任何成员。我在甲骨文上找到了这个。似乎'this'关键字只能在实例方法或构造函数中使用时才能访问对象。
-
嗯,很多语言都有相似的语法/特性/行为,但你不需要标记所有的。