这个:不能在静态的上下文中使用
你能帮我下面的代码。 错误是: “不能在静态上下文中使用它”
public class Sample2 { /** * @param args */ public static void main(String[] args) { Sample2 sam=new Sample2(); //Below code works fine System.out.println(sam); //Below code is displaying error System.out.println(this); } }
请参阅“这个”关键字是指当前对象,因为哪个方法是优秀的。 因为你不能用类的实例调用静态方法。 这就是为什么“this”不能用于上面的例子中的静态方法,因为它试图打印当前的实例,而这个实例根本就没有创build。 所以,我想这就是为什么你有一个编译时错误。
他们的关键字是指类的实例 。 在静态上下文中,你没有实例,所以你不能引用它。
有关更多信息,请参阅此答案: Java中的“this”的含义是什么?
如果我们试图从一个静态的上下文中访问它,编译器现在可以猜测出你正在引用哪个实例。 主要是这里的静态方法。
在Java中,你不能在静态方法(静态上下文)中使用它。
Static
方法不指向封闭类的任何实例。
静态方法无论如何不能引用“this”或“super”关键字
请参阅此关键字的官方文档