English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

在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