プロが教える店舗&オフィスのセキュリティ対策術

例えばAクラスで宣言した外部クラス、BクラスとCクラスがあったとします。
例えばそのBクラスから(Aクラスで宣言されて実行中の)Cクラスにアクセス
する方法はないでしょうか?
内部クラスにはしたくありません。知っているという方は教えて下さい。もし
なければないで結構ですので、それも教えて下さい。お願いします。

A 回答 (1件)

よくわかりませんが、


BクラスにCクラスの参照を渡せばよいのでは?

たとえば、
C_cls c = new C_cls()
B_cls b = new B_cls(c);

c.setA("XXX");
C_cls cc = b.getC();
out.println(cc.getA());

としたら、"XXX" と返りませんか?
    • good
    • 0
この回答へのお礼

確かに、

class C_cls { String a,b;
C_cls() {}
void setA(String set) { a = set; }
void setB(String set) { b = set; }
String getA() { return a; }
}

class B_cls { C_cls cls2;
B_cls(C_cls c) { c.b = "YYY"; cls2 = c; }
C_cls getC() { return cls2; }
}

class A_cls {
public static void main(String[] args) {
C_cls c = new C_cls();
B_cls b = new B_cls(c);

c.setA("XXX");

C_cls cc = b.getC();

System.out.println(cc.getA());
System.out.println(c.b);
}
}

で参照できました。実はサウンドプレイヤー
[ http://users.goo.ne.jp/a-works/ ]
なのですが、例えば(上記の)BクラスでDクラスのインスタンス
を作り、Cクラスでインスタンス化したEクラスのイベントから
(Bクラスでインスタンス化した)Dクラスのメソッドを実行させる
みたいな事をしたかったと言うことと、クラスの再利用性を上げる
ため、内部クラスにはできるだけしたくなかったという事です。
…初歩が全く分かってなかったようですね。何とでもなりそうです。
わざわざ教えて頂き、ありがとうございました。

お礼日時:2001/08/18 05:47

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