Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果数组都在同一个包中,是否可以在一个java文件中声明数组并在另一个java文件中使用它们_Java_Arrays_Class_Variables - Fatal编程技术网

如果数组都在同一个包中,是否可以在一个java文件中声明数组并在另一个java文件中使用它们

如果数组都在同一个包中,是否可以在一个java文件中声明数组并在另一个java文件中使用它们,java,arrays,class,variables,Java,Arrays,Class,Variables,那么,您如何将它用于一个完全不同的java文件,但在同一个包中 public static void main (int[] args) { int [] HotDog = {18,8,10,0}; int [] ToastedChicken = {25,8,17,0}; int [] ToastedSteak = {30,8,22,0}; int [] ToastedEggT= {20,8,6,6}; int [] ToastedSteakE={36,8,22,6}; int [] Chick

那么,您如何将它用于一个完全不同的java文件,但在同一个包中

public static void main (int[] args)
{
int [] HotDog = {18,8,10,0};
int [] ToastedChicken = {25,8,17,0};
int [] ToastedSteak = {30,8,22,0};
int [] ToastedEggT= {20,8,6,6};
int [] ToastedSteakE={36,8,22,6};
int [] ChickenRoll = {25,8,17,0};
int [] SteakRoll = {30,8,22,0};
int [] EggTomato = {20,8,6,6};
int [] CheeseTomato = {20,8,6,6};
int [] steakEgg = {36,8,22,6};`
在这儿

if (contents ==  "Hot Dog")

{jLabel2.setText(HotDog[2]); }  

您需要将它们设置为静态。例如:

final class MyConstants {
    static final int[] HotDog = {18, 8, 10, 0};
    static final int[] ToastedChicken = {25, 8, 17, 0};
    static final int[] ToastedSteak = {30, 8, 22, 0};
    static final int[] ToastedEggT = {20, 8, 6, 6};
    static final int[] ToastedSteakE ={36, 8, 22, 6};
    static final int[] ChickenRoll = {25, 8, 17, 0};
    static final int[] SteakRoll = {30, 8, 22, 0};
    static final int[] EggTomato = {20, 8, 6, 6};
    static final int[] CheeseTomato = {20, 8, 6, 6};
    static final int[] SteakEgg = {36, 8, 22, 6};

    private MyConstants() {
        // Prevents users of this class from instantiating a useless instance of
        // this class, since all members are static.
    }
}
然后,您可以在同一软件包中的任何类中使用它们,如:

if (contents.equals("Hot Dog")) {
    jLabel2.setText(MyConstants.HotDog[2]);
}  

您需要将它们设置为静态。例如:

final class MyConstants {
    static final int[] HotDog = {18, 8, 10, 0};
    static final int[] ToastedChicken = {25, 8, 17, 0};
    static final int[] ToastedSteak = {30, 8, 22, 0};
    static final int[] ToastedEggT = {20, 8, 6, 6};
    static final int[] ToastedSteakE ={36, 8, 22, 6};
    static final int[] ChickenRoll = {25, 8, 17, 0};
    static final int[] SteakRoll = {30, 8, 22, 0};
    static final int[] EggTomato = {20, 8, 6, 6};
    static final int[] CheeseTomato = {20, 8, 6, 6};
    static final int[] SteakEgg = {36, 8, 22, 6};

    private MyConstants() {
        // Prevents users of this class from instantiating a useless instance of
        // this class, since all members are static.
    }
}
然后,您可以在同一软件包中的任何类中使用它们,如:

if (contents.equals("Hot Dog")) {
    jLabel2.setText(MyConstants.HotDog[2]);
}  

您的数组当前是main方法的本地数组。如果您将它们完全按原样移到主方法之外,那么它们将在具有包访问权限的相同包中对其他类可见。除非将它们设置为静态,否则需要有对该类的引用。在下面的示例中,我调用类X

int [] HotDog = {18,8,10,0};
int [] ToastedChicken = {25,8,17,0};
int [] ToastedSteak = {30,8,22,0};
int [] ToastedEggT= {20,8,6,6};
int [] ToastedSteakE={36,8,22,6};
int [] ChickenRoll = {25,8,17,0};
int [] SteakRoll = {30,8,22,0};
int [] EggTomato = {20,8,6,6};
int [] CheeseTomato = {20,8,6,6};
int [] steakEgg = {36,8,22,6};`

public static void main (int[] args)
{
     jLabel2.setText(new X().HotDog[2]); //will return 10
}

在java中,在camelCase中命名变量也是常见的做法。例如,chickenRoll

您的数组当前是main方法的本地数组。如果您将它们完全按原样移到主方法之外,那么它们将在具有包访问权限的相同包中对其他类可见。除非将它们设置为静态,否则需要有对该类的引用。在下面的示例中,我调用类X

int [] HotDog = {18,8,10,0};
int [] ToastedChicken = {25,8,17,0};
int [] ToastedSteak = {30,8,22,0};
int [] ToastedEggT= {20,8,6,6};
int [] ToastedSteakE={36,8,22,6};
int [] ChickenRoll = {25,8,17,0};
int [] SteakRoll = {30,8,22,0};
int [] EggTomato = {20,8,6,6};
int [] CheeseTomato = {20,8,6,6};
int [] steakEgg = {36,8,22,6};`

public static void main (int[] args)
{
     jLabel2.setText(new X().HotDog[2]); //will return 10
}

在java中,在camelCase中命名变量也是常见的做法。例如,chickenRoll

,我将尝试将这些数组设置为静态数组,因此所有试图访问这些数组的类都将获得相同的数组

我也可以在这里用单子原理来组合…但这太过分了

public class Test{
static int [] HotDog = {18,8,10,0};
static int [] ToastedChicken = {25,8,17,0};
static int [] ToastedSteak = {30,8,22,0};
static int [] ToastedEggT= {20,8,6,6};
static int [] ToastedSteakE={36,8,22,6};
static int [] ChickenRoll = {25,8,17,0};
static int [] SteakRoll = {30,8,22,0};
static int [] EggTomato = {20,8,6,6};
static int [] CheeseTomato = {20,8,6,6};
static int [] steakEgg = {36,8,22,6};

}

public class AccessIt{


Test.HotDog;


}

我将尝试使这些数组成为静态的,所以所有试图访问这些数组的类都会得到相同的数组

我也可以在这里用单子原理来组合…但这太过分了

public class Test{
static int [] HotDog = {18,8,10,0};
static int [] ToastedChicken = {25,8,17,0};
static int [] ToastedSteak = {30,8,22,0};
static int [] ToastedEggT= {20,8,6,6};
static int [] ToastedSteakE={36,8,22,6};
static int [] ChickenRoll = {25,8,17,0};
static int [] SteakRoll = {30,8,22,0};
static int [] EggTomato = {20,8,6,6};
static int [] CheeseTomato = {20,8,6,6};
static int [] steakEgg = {36,8,22,6};

}

public class AccessIt{


Test.HotDog;


}

你的问题不清楚。你想在哪里使用什么?另外,请注意,您可能正在查找contents.equalshotdog and not==您的问题不清楚。你想在哪里使用什么?另外,请注意,您可能正在查找contents.equalshotdog and not==另一个重要的一点是,它们已从主方法中删除。请注意,尽管在这里受包保护的可访问性是正常的,但这种情况很少发生。就此而言,MyConstants类也可以具有包访问权限,除非它包含其他包中需要的其他内容。+1我将创建接口MyConstants而不是类MyConstants@Nandkumar这将是反模式的另一个要点是它们已从主方法中删除可访问性在这里是可以的-很少是这样的。就此而言,MyConstants类也可以具有包访问权限,除非它包含其他包中需要的其他内容。+1我将创建接口MyConstants而不是类MyConstants@Nandkumar这将是反模式的谢谢你所有的答案他们真的很有帮助:谢谢it@user1649917如果你觉得答案有用,那么请向上投票,选择一个作为你问题的解决方案。感谢所有的答案,他们真的很有帮助:感谢it@user1649917如果你觉得答案很有用,请投票选出一个答案作为你问题的答案。