El uso de una variable no estática en un método estático a través de un objeto? Java

tom:

Puesto que no podemos utilizar thisdentro de un método estático, y tampoco podemos utilizar variables no estáticas, por qué es que podemos utilizar objetos, que utilizan las variables no estáticas dentro de los métodos estáticos?

Esto es lo que quiero decir:

public int x;
public int y;

public Account(int a, int b) {
    this.x = a;
    this.y = b;
}

public static void Swap(Account acc) {
    int holder;
    holder = acc.x;
    acc.x = acc.y;
    acc.y = holder;
}

Así que Swap()va a funcionar, a pesar de que las variables dentro del objeto no son estáticas. No entiendo esta parte. Agradecería un poco de ayuda. TIA!

Eran :

staticLos métodos pueden no acceso variable de instancia de la corriente ( thisejemplo), ya que no existe tal ejemplo en su contexto.

Sin embargo, si pasa a ellos una referencia a una instancia, pueden acceder a cualquier variable de instancia y métodos visibles para ellos.

En caso de que su swapejemplo, si ese método no era static, se podría haber eliminado el accargumento y operar sobre las variables de instancia de this:

public void swap() {
    int holder;
    holder = this.x;
    this.x = this.y;
    this.y = holder;
}

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=185072&siteId=1
Recomendado
Clasificación