2011-12-11 17 views
1

私はJavaを学ぼうとしていますが、コンストラクタに配列を渡すことに問題があります。たとえば :コンストラクタに配列を渡すには?

Applicationクラス: byte[][] array = new byte[5][5]; targetClass target = new targetClass(array[5][5]);

対象クラス:

public class targetClass { 
    /* Attributes */ 
    private byte[][] array = new byte[5][5]; 

    /* Constructor */ 
    public targetClass (byte[][] array) { 
     this.array[5][5] = array[5][5]; 
    } 

} 

あなたは、私はそれを行うことができますどのように私を見ることができれば、私は非常に感謝したいです。

+0

のようにそれを呼び出します。 – Bhushan

答えて

5

まず、通常クラス名は大文字で始まり、今、あなたが出会った問題に、それは次のようになります。

public class TargetClass { /* Attributes */ 
    private byte[][] array; 

    /* Constructor */ 
    public TargetClass (byte[][] array) { 
     this.array = array; 
    } 
} 
+0

甘い。ありがとうございました! 私はまだ多くのことを学ぶ必要があります。 – bbalchev

+0

@BlagovestBalchevそれは最高の部分です! :) – MByD

1

アプリケーションクラスでは、次のように動作するはずです:また

byte[][] array = new byte[5][5]; 
TargetClass target = new TargetClass(array); // Not array[5][5] 

、あなたのターゲットクラスのために、次のように動作するはずです:

public class TargetClass { 
    /* Attributes */ 
    private byte[][] array; // No need to explicitly define array 

    /* Constructor */ 
    public TargetClass (byte[][] array) { 
     this.array = array; // Not array[5][5] 
    } 
} 

述べたように、クラス名は、通常、資産計上されそれが私があなたのクラス名にしたことです。 Javaで

2

あなたは、宣言の時にクラスの配列をintializeする必要はありません。 。渡された配列の参照に設定することができます。例えば、

public class targetClass { 
    /* Attributes */ 
    private byte[][] array = null; 

    /* Constructor */ 
    public targetClass (byte[][] array) { 
     this.array = array; 
    } 

} 
0

私はあなたではなく、渡された配列のうちの5,5の要素を選択しようとするよりも、配列に渡された民間の配列を代入しようとしていると仮定するつもりです。コンストラクタ内部

、構文は次のようになります

this.array =アレイ。アプリケーションにおいて

、それは

targetClassターゲットは=新しいtargetClass(配列)であるべきです。

1
public class targetClass { 
    /* Attributes */ 
    private byte[][] array = null; 

    /* Constructor */ 
    public targetClass (byte[][] array) { 
     this.array = array; 
    } 

} 

は、Java、クラス名を学んでいるので、常に大文字で始める必要があり、この

byte[][] array = new byte[5][5]; 
targetClass target = new targetClass(array); 
関連する問題