java - 访问静态最终实例变量进入静态方法错误

标签 java static

<分区>

我在工作时遇到了这种特殊行为,但我不确定这里的问题是什么。按照我的说法,Static keyWord 有一些特性

1。属于类而不是对象。

2。静态方法可以访问类的静态实例变量。

但是有人可以解释一下特定的行为吗:

      public static final int x=12;
      public static  void go(final int x){
          System.out.println(this.x);
      }

在编写这一特定行时,我在 Eclipse 中打印语句 "this.x" 时遇到complile 时间错误,因为“无法使用this in static conetext”

有人可以解释一下我的理解中缺少什么吗??

最佳答案

您不能使用this 指定您想要类级别x。你需要类名。喜欢,

class Example {
  public static final int x=12;
  public static  void go(final int x){
    System.out.println(Example.x);
  }
}

您还可以为方法参数使用不同的变量名。

public static final int x=12;
public static void go(final int y){
  System.out.println(x);
}

关于java - 访问静态最终实例变量进入静态方法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28711531/

相关文章:

java - 在 Java/Android 中向 String 类添加一个方法,就像在 iPhone 上的 objective-c 中的类别一样

java - 是否可以将 cacerts 的所有内容导入 jssecacerts 文件?

java - 降低环复杂度的方法

java - Eclipse项目如何设置特定系统JRE?

java - 在 Java 中创建用于存款和取款的 if 语句

qt - 如何为 qtquick 插件添加 qrc 导入路径?

c# - 为什么不能通过实例名称访问静态成员?

c++ - 如何在使用 x 进行计算时保留原始 x 的值?

C++ 类的静态成员在构造函数之后初始化

c++ - 使用字符串键初始化结构映射