如果我在java方法中声明一个变量,那么该变量是否也可以被从声明该变量的方法调用的任何方法访问?

如果我在java方法中声明一个变量,那么该变量是否也可以被从声明该变量的方法调用的任何方法访问?,java,scope,Java,Scope,如果我在java方法中声明一个变量,那么该变量是否也可以被从声明该变量的方法调用的任何方法访问 当我尝试以下操作时,function2无法识别变量variable1。应该是这样吗 public static void main(String[], args) { int variable1 function2(); } 您要么将变量设置为字段,要么将其传递给函数的参数 public static void main(String[] args) { int variable =

如果我在java方法中声明一个变量,那么该变量是否也可以被从声明该变量的方法调用的任何方法访问

当我尝试以下操作时,function2无法识别变量variable1。应该是这样吗

public static void main(String[], args)
{
  int variable1
  function2();
}

您要么将变量设置为字段,要么将其传递给函数的参数

public static void main(String[] args) {
    int variable = 0;
    function2(variable);
}

public static void function2(int argument) {
    //argument is = variable
}

/* or ... */

private static int variable;

public static void main(String[] args) {
   variable = 0;
   function2();
}

public static void function2() {
    //variable is usable
}

您要么将变量设置为字段,要么将其传递给函数的参数

public static void main(String[] args) {
    int variable = 0;
    function2(variable);
}

public static void function2(int argument) {
    //argument is = variable
}

/* or ... */

private static int variable;

public static void main(String[] args) {
   variable = 0;
   function2();
}

public static void function2() {
    //variable is usable
}
当我尝试以下操作时,function2无法识别变量variable1。应该是这样吗

public static void main(String[], args)
{
  int variable1
  function2();
}
对。它是一个局部变量-声明它的方法的局部变量。该方法可以在同一线程内(不同的堆栈级别)和多个不同的线程上执行多次-该方法的每次调用都有一个单独的变量

你应该复习这本书

当我尝试以下操作时,function2无法识别变量variable1。应该是这样吗

public static void main(String[], args)
{
  int variable1
  function2();
}
对。它是一个局部变量-声明它的方法的局部变量。该方法可以在同一线程内(不同的堆栈级别)和多个不同的线程上执行多次-该方法的每次调用都有一个单独的变量


您应该查看。

除非将其作为参数传递给function2,否则将无法识别

例如


除非将其作为参数传递给function2,否则无法识别它

例如


不起作用,因为变量作用域在java中的工作方式。不过,这在JavaScript中是可行的

如果您需要一个函数来包含数据,则必须将其提供给该函数。否则,请将数据保存在可以读取的位置

更多信息:


不起作用,因为变量作用域在java中的工作方式。不过,这在JavaScript中是可行的

如果您需要一个函数来包含数据,则必须将其提供给该函数。否则,请将数据保存在可以读取的位置

更多信息:


您所想到的通常称为“动态范围”,它不是Java的一个功能(尽管我相信JavaScript支持它)。您所想到的通常称为“动态范围”,它不是Java的一个功能(尽管我相信JavaScript支持它)。