Arrays 两个语法之间声明的差异

Arrays 两个语法之间声明的差异,arrays,declaration,Arrays,Declaration,参考: 如果我使用声明//public Integer[]arrayTemplate;这是目前注释掉的,我可以访问公共类中的变量“arrayTemplate” 但是,如果我按照下面的代码调用构造函数来声明变量,我将无法在任何地方访问它。如果我理解正确,这两种方法都声明了变量,并且在我尝试访问它时,对象已经创建 PS:我使用Integer类只是为了实验,而不是使用普通的int 干杯您当前的代码声明了ArrayFunctions构造函数的一个变量,因此该变量只能在构造函数中访问 您的注释代码声明了A

参考:

如果我使用声明//public Integer[]arrayTemplate;这是目前注释掉的,我可以访问公共类中的变量“arrayTemplate”

但是,如果我按照下面的代码调用构造函数来声明变量,我将无法在任何地方访问它。如果我理解正确,这两种方法都声明了变量,并且在我尝试访问它时,对象已经创建

PS:我使用Integer类只是为了实验,而不是使用普通的int


干杯

您当前的代码声明了
ArrayFunctions
构造函数的一个变量,因此该变量只能在构造函数中访问


您的注释代码声明了
ArrayFunctions
类的一个成员,然后可以从该类的任何位置(或自您将其
公开以来的其他位置)访问该类。

您应该向该类添加java标记,谢谢。如果我理解正确,你是说变量只有构造函数作用域,因为那毕竟是一个方法。是的,构造函数是一个方法。方法中声明的任何变量都仅限于此方法。谢谢!。我“知道”这一点,但我现在知道了。不客气,也就是说,请更新您的标记以包含“java”,并选择一个答案将此线程标记为已回答。(用于看门人)。
class ArrayFunctions {

    //public Integer[] arrayTemplate;

    private static Scanner scanner = new Scanner(System.in);

        ArrayFunctions(int k){
            Integer[] arrayTemplate = new Integer[k] ;
        }
        .
        .
        .
    public class ArrayFunctionsImplementation{

        public static void main(String[] args) {

            ArrayFunctions newArray  = new ArrayFunctions(5);
            newArray.getIntegers(newArray.arrayTemplate);
            newArray.printIntegers(newArray.arrayTemplate);
            newArray.sortArray(newArray.arrayTemplate);
            newArray.printIntegers(newArray.arrayTemplate);

        }

    }
}