在Java的静态方法中可以使用“ this”关键字吗?
静态方法属于该类,它们将与类一起加载到内存中。您可以在不创建对象的情况下调用它们。(使用类名作为引用)。
示例
public class Sample{ static int num = 50; public static void demo(){ System.out.println("Contents of the static method"); } public static void main(String args[]){ Sample.demo(); } }
输出结果
Contents of the static method
关键字“this”用作对实例的引用。由于静态方法没有(属于)任何实例,因此不能在静态方法中使用“this”引用。如果还是这样,请尝试这样做,这样会生成编译时错误。
示例
public class Sample{ static int num = 50; public static void demo(){ System.out.println("Contents of the static method"+this.num); } public static void main(String args[]){ Sample.demo(); } }
编译时错误
Sample.java:4: error: non-static variable this cannot be referenced from a static context System.out.println("Contents of the static method"+this.num); ^ 1 error