1

では、まったく異なる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]); }  
4

3 に答える 3

5

それらを静的にする必要があります。例えば:

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]);
}  
于 2012-09-05T18:39:29.797 に答える
1

そして、私はそれらArrayを として作成しようとするstaticので、これらの配列にアクセスしようとするすべてのクラスは同じ配列を取得します...

ここでも使用できSingleton Principle with Compositionました...しかし、これはやり過ぎです..

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;


}
于 2012-09-05T18:42:00.103 に答える
0

現在、配列はメソッド 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 では一般的な方法です。たとえば、チキンロール

于 2012-09-05T18:39:36.193 に答える