電子書籍の厳選無料作品が豊富!

はじめまして、Javaを勉強したばかりの初心者です。

下のようばプログラムでclassAのdata配列を
class Cで参照するにはどうすればよいでしょうか?

public class A extends B{
・・・・
short data[] = new short[10];

}

public class C extends D{

}

A 回答 (3件)

public class A extends B {


private short[] data = new short[10];

public A() {
for (int i = 0; i < data.length; i++) {
data[i] = (short)i;
}
}

public short[] getData() {
return data;
}
}

public class C extends D {
public static void main(String[] args) {
A a = new A();
short[] data = a.getData();
if (data != null && data.length > 0) {
for (int i = 0; i < data.length; i++) {
System.err.println(data[i]);
}
}
}
}

こんな感じでどうでしょう?
    • good
    • 0

どういう意図で他クラスの変数を参照したいのかによって回答は異なります。

    • good
    • 0

いくつかの方法があります。



●継承する方法。
●修飾子publicで宣言する方法。
●メソッドで値を渡す方法。

継承はextendsなどでクラスCをサブクラスとすればメンバーの変数へアクセスできます。
publicは装飾子publicで宣言することですべてのクラスからアクセスをすることができます。メソッドの場合はgetNameなどのようにreturnに値として渡すことでできます。これらはよく、それぞれアクセスさせたい範囲を限定したいなどの場合に使いわけます。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!