目前,我有一个正在调用其他类的静态方法的类。但是我想做的是让静态方法更改调用类的变量,这可能吗?

示例代码:

public class exClass {
    private int aVariable;

    public exClass() {
        othClass.aMethod();
    }
}

public class othClass {

    static void aMethod() {
        // stuff happens, preferably stuff that
        // allows me to change exClass.aVariable
    }
}​


所以我想知道的是,是否有一种方法可以访问调用othClass的exClass实例的aVariable。显然,除了使用return语句之外。

最佳答案

您可以将this作为参数传递给第二个函数。

public class exClass {
   public int aVariable;

   public exClass()
   {
      othClass.aMethod(this);
   }
}

public class othClass{

   static void aMethod(exClass x)
   {
      x.aVariable = 0; //or call a setter if you want to keep the member private
   }
}

10-08 00:50