Llamar a una variable de otro método en Java
- Llamar a una variable estática en un método estático dentro de la misma clase en Java
- Llamar a una variable estática desde un método no estático dentro de la misma clase en Java

En este tutorial, aprenderemos cómo podemos llamar a una variable de otro método en Java. Depende del tipo de variable y de su alcance dentro de la clase.
Llamar a una variable estática en un método estático dentro de la misma clase en Java
Una variable que es estática y declarada en la misma clase puede ser accedida dentro del método main y otros métodos. En el siguiente ejemplo, la variable val
declarada dentro del ámbito del método main
sólo está disponible dentro de ese ámbito mientras que la variable estática y
se accede dentro del otro método estático.
Podemos acceder a la variable limitada del scope para pasarla al método donde pretendemos acceder a la variable.
public class CallAVariable {
static int y = 4; //declared inside class scope.
public static void main(String[] args) {
String val = "Hello"; //declared inside the scope of main method hence available in main only.
System.out.println("In Main where static variable y is: "+y);
callInNormal(val);
}
public static void callInNormal (String val){
System.out.println("Value of static variable y in a static method is : "+y +" and String passed is: "+val);
}
}
Resultado:
In Main where static variable y is: 4
Value of static variable y in a static method is : 4 and String passed is: Hello
Llamar a una variable estática desde un método no estático dentro de la misma clase en Java
La variable y
es estática, pero el método para acceder a ella no es estático. Por lo tanto, necesitamos crear una instancia de la clase para acceder al método y a la variable no estática x
.
public class CallAVariable {
int x = 2;
static int y = 6;
public static void main(String[] args) {
//since the method is non static it needs to be called on the instance of class.
//and so does the variable x.
CallAVariable i = new CallAVariable();
System.out.println("In Main where static variable y is: "+y+ " and x is: "+i.x);
i.callInNormal(i.x);
}
public void callInNormal (int x){
CallAVariable i = new CallAVariable();
System.out.println("Non static variable x is : " +x+" and static variable y is: "+y);
}
}
Resultado:
In Main where static variable y is: 6 and x is: 2
Non static variable x is : 2 and static variable y is: 6
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn