OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

外部クラスにアクセス

  • 暇なときにでも
  • 質問No.119903
  • 閲覧数50
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 100% (1/1)

例えばAクラスで宣言した外部クラス、BクラスとCクラスがあったとします。
例えばそのBクラスから(Aクラスで宣言されて実行中の)Cクラスにアクセス
する方法はないでしょうか?
内部クラスにはしたくありません。知っているという方は教えて下さい。もし
なければないで結構ですので、それも教えて下さい。お願いします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル10

ベストアンサー率 28% (33/117)

よくわかりませんが、
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" と返りませんか?
お礼コメント
a_works

お礼率 100% (1/1)

確かに、

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:49
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ