在 Java 中呼叫另一個方法中的變數

Rupam Yadav 2023年1月30日 2020年12月19日
  1. Java 中在同一個類內的靜態方法中呼叫一個靜態變數
  2. Java 中從同一個類中的非靜態方法呼叫靜態變數
在 Java 中呼叫另一個方法中的變數

在本教程中,我們將學習如何在 Java 中呼叫另一個方法中的變數。這取決於變數的型別和它在類內的作用域。

Java 中在同一個類內的靜態方法中呼叫一個靜態變數

在同一個類中宣告的靜態變數可以在 main 方法和其他方法中被訪問。在下面的例子中,在 main 方法的作用域內宣告的變數 val 只能在該作用域內使用,而靜態變數 y 則在其他靜態方法內訪問。

我們可以訪問受範圍限制的變數,將其傳遞給我們打算訪問該變數的方法。

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);
      
    }
}

輸出:

In Main where static variable y is: 4
Value of static variable y in a static method is : 4 and String passed is: Hello

Java 中從同一個類中的非靜態方法呼叫靜態變數

變數 y 是靜態的,但是訪問它的方法是非靜態的。因此,我們需要建立一個類的例項來訪問該方法和非靜態變數 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);
      
    }
}

輸出:

In Main where static variable y is: 6 and x is: 2
Non static variable x is : 2 and static variable y is: 6
Author: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

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

相關文章 - Java Class

相關文章 - Java Method