例えば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で質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QJames Taylor「Steamroller Blues」の耳コピ

楽譜を買うお金が無く、James Taylor「Steamroller Blues」を耳コピしようとしているのですが、変則的なチューニングをしているみたいで色々試してみましたが音が合いません。。。

6弦が半音下げチューニングぐらいしか聞き取れませんでした。

もしご存知の方いればご教授お願い致します。

Aベストアンサー

「Steamroller Blues」はノーマルチューニング3カポEフォームでプレイしていると思われます。急いで回答しているので、確証は持てませんが、昔自分はそれでコピーしました。マイナー9thや9thコードが出てくるのがよくあるブルースとは違いますが、それ以外はオーソドックスなブルース進行です。本人の様々なビデオを見ても変則チューニングをしているようには見えません。確認できれば又回答します。

Q無名内部クラスと匿名内部クラスと匿名クラスの違い

■外部クラス
・外部クラスの定義を教えてください
・内部クラスに対して外部クラスと言うのであれば、「クラス内に宣言されたクラスがないクラス(普通のクラス?)」は外部クラスとは言わないのでしょうか?

■無名クラス
・無名クラスは必ず内部クラスなのでしょうか?

■同じ意味?
下記は同じ意味でしょうか?
・無名内部クラス
・匿名クラス
・無名クラス
・匿名内部クラス

Aベストアンサー

・外部クラスの定義を教えてください
⇒ 内部クラスを持ったクラスのことです。
  なので
・内部クラスに対して外部クラスと言うのであれば、「クラス内に宣言されたクラスがないクラス(普通のクラス?)」は外部クラスとは言わないのでしょうか?
⇒ 言いません。視点が違います。
  「内部クラス」から見て「外部クラス」であり
  「外部クラス」から見て「内部クラス」となっています。
  なので、「あなた」から見て「外部クラス」と「通常のクラス」は同じでも、別物となります。

・無名クラスは必ず内部クラスなのでしょうか?
⇒ そんなことはありません。
  通常のクラスも無名クラスとして扱います。

下記は同じ意味でしょうか?
⇒ 無名内部クラス = 匿名内部クラス
  匿名クラス = 無名クラス
  無名クラス != 無名内部クラス

上記は私の認識なので、ちょっと違うかもしれませんが…。

SJC-Pの対策か何かでしょうか?
作りながら「これって何だろう」と調べていれば、それなりに理解できると思います。
大切なのは作れることです。
精進ガンバって下さい!

・外部クラスの定義を教えてください
⇒ 内部クラスを持ったクラスのことです。
  なので
・内部クラスに対して外部クラスと言うのであれば、「クラス内に宣言されたクラスがないクラス(普通のクラス?)」は外部クラスとは言わないのでしょうか?
⇒ 言いません。視点が違います。
  「内部クラス」から見て「外部クラス」であり
  「外部クラス」から見て「内部クラス」となっています。
  なので、「あなた」から見て「外部クラス」と「通常のクラス」は同じでも、別物となります。

・無名クラスは必ず...続きを読む

QフェンダーBLUES JUNIORのスピーカーをJENSEN C12N

フェンダーBLUES JUNIORのスピーカーをJENSEN C12N に交換したいのですが可能でしょうか?
電気の知識は皆無なのでスピーカーだけ買って楽器店に持ち込もうかと思っていますが、自分でできるものなのでしょうか?
よろしくお願いします。

Aベストアンサー

可能です。(同じ口径、取り付けピッチは標準化されている。)
誰でも出来ます。
接続は差込式、少しゆすりながら引く、プライアー等で電線圧着基部をくわえて引いても良い。
手順は自ずと解ります。

Q内部クラスから別の内部クラスのインスタンスを取得するには

早速ではございますが質問をさせていただきます。
以下のクラスで、
//////////////////////////////////////////////////
class A
{
class B {}
class C {}
}
//////////////////////////////////////////////////
内部クラスB内で内部クラスCのインスタンスを取得するに
はどうすればよいのでしょうか?どうかご教授のほど
よろしくお願いします。

Aベストアンサー

こんな↓のでコンパイルできますね。
class A {
class B {
B(){
new C();
}
}
class C {}
}

QT-01C PCから移動したPDF閲覧方法について

REGZA Phone T-01Cを使用しています。

PCとT-01CをUSBデータケーブルで接続し
PCからPDFファイルを移動させ、携帯端末より
PDFファイルを参照しようと試みております。

そこでご質問させて頂きたいのですが
どの場所にPDFファイルを格納すればよいでしょうか。

AITIA
Android
arcsoft
DCIM



とフォルダがあるのですが、どのフォルダに格納すればよいかわかりません。

ご教授頂けると大変有難いです。

Aベストアンサー

PDFを見るアプリのフォルダがあればそこでもいいですし、
特に特定のフォルダじゃないとダメということはありません。

SDCARDにPDF-FILE とでもフォルダ作って分かりやすく
保存すれば良いですよ。

QFilterReader クラスのカスタムクラス作成時に、宣言していない in.read が使える?

下記のコードに関して質問です。

このコードはコンパイル成功します。
しかし、8行目の in.read(buf,from,len) の in は生成していません。
何故コンパイル通るのしょうか?
※ちなみに、これはある書籍のサンプルからの抜粋です。

もしご存知の方いらっしゃいましたら、教えてください。






import java.io.*;

public class TagFilter extends FilterReader{

public TagFilter(Reader reader){ super(reader);}

public int read(char[] buf, int from, int len) throws IOException{
while(in.read(buf,from,len) != -1) ; /* ← この in はどこにある?
return 0;
}
}

Aベストアンサー

FilterReaderクラスから継承した、Readerを格納するフィールドです。

protected宣言されているので、サブクラスからも呼び出せます。

参考URLはFilterReaderクラスのAPI仕様です。

参考URL:http://java.sun.com/j2se/1.3/ja/docs/ja/api/java/io/FilterReader.html

QC++ BuilderでPDF出力

C++ Builder3を使ってます。印刷する代わりに、PDFファイルとして出力する方法があると聞いているんですが、ソースコードをどのように記述したらよいのかご存知の方がいらっしゃいましたら教えていただけないでしょうか。
よろしくお願いいたします。

Aベストアンサー

PDFはAdbeアクロバットで出力されるファイル形式です。インターネット上でみられるAcrobat readerはこのリーダー部のみを切り出したものです。
PDFファイルを生成したい場合、標準的には
Adbe Acrobatを購入してインストールすると、
Adbe PDF
という仮想プリンタが追加されます。(古いバージョンだとPDF Writerでしょうか)
あとは、作成されたプログラムからこの仮想プリンタを指定して普通どおり印刷すれば、PDFが作成されます。

最近ではクセロPDF
http://xelo.jp/xelopdf/
というソフトがフリーであるようです。
私はつかったことがないのですが、結構利用者もおられるようす。
見当されてみるのもよいかもしれません。

参考URL:http://www.adobe.co.jp/products/acrobat/main.html

QString a = "a"; と String b = new String ("b"); の違い

String a = "a";
String b = new String ("b");

お伺いしたいのですが、
b は String のインスタンスを作ってると思いますが、
a はどんなことをしてるのでしょうか?

Aベストアンサー

お二人の回答を具体的に言うと、こういうことです。
String a1 = "a";
String a2 = "a";
String b1 = new String ("b");
String b2 = new String ("b");

a1のために、aという文字列のインスタンスが作られますが、
a2に代入されるのは、a1に使われたインスタンスが再利用されます。
これは、
if(a1 == a2) System.out.print("a1と同じインスタンス");
の結果でもわかります。

一方、b1とb2は、bという文字列オブジェクトを引数に、新しいインスタンスを生成する指示がありますので、b1とb2と、その初期化に使った無名のStringインスタンスの3つがメモリ上に存在することになります。
if(b1 != b2) System.out.print("b1とは違うインスタンス");
の結果でもわかると思います。

したがって、
String b = new String ("b"); というのは、Integerに例えると
Integer i = new Integer(new Integer(1)); という処理を
していることになり、ひとつ無駄なインスタンス生成となります。

お二人の回答を具体的に言うと、こういうことです。
String a1 = "a";
String a2 = "a";
String b1 = new String ("b");
String b2 = new String ("b");

a1のために、aという文字列のインスタンスが作られますが、
a2に代入されるのは、a1に使われたインスタンスが再利用されます。
これは、
if(a1 == a2) System.out.print("a1と同じインスタンス");
の結果でもわかります。

一方、b1とb2は、bという文字列オブジェクトを引数に、新しいインスタンスを生成する指示がありますので、b1とb2と、その...続きを読む

Qこの質問は、PDFファイル・C・著作権・JIS・きかくに関係あります

最終的にしたいことは、
C言語の規格(日本語)が印刷されたものが手に入ればいい(自分で印刷するのでもOK)のですが、
どうすればよいでしょうか。

C言語の日本での規格はJIS X3010というものです。

http://www.jisc.go.jp/
日本工業標準調査会 というサイトの「データベース」で「X3010」で検索すると、「JIS詳細表示」というページが表示されまして、
X3010_01.pdfというPDFファイルがダウンロードできます。

(さきほどやってみたら、勝手にファイルを開こうとするようだ。Acrobat Readerが入っていなかったから、ファイルを保存できたのかも知れない。)

ダウンロードしたpdfファイルをAcrobat Reader5.0で開きますと、内容を読むことができます。
それで印刷できればよいのですが、印刷ができないような設定がされているのでしょうか(?)、メニューがきえてしまって印刷できません。


正確なことはよく知らないのですが。
・JISの規格は「JIS規格票」というものに印刷されて発行されているらしい。
・JIS規格票とは別に、JISハンドブックというJISの規格をまとめたような本があるのだが、その中にC言語の規格は入っていないようだ。
・JISの規格には著作権があるらしい。
・「X 3010:93」というものとそれを補完(?)するような「X 3010:96」というものがあるらしいのだが、前者を入手すれば後者を入手しなくて良いのか(前者に後者は織り込み済みなのか)はよくわからない。


その規格票というものを入手するには、どうすればよいのでしょうか。
「政府刊行物センター」で売っているんでしょうか。

図書館などでコピーできればそれでもいいのですが…
私が行った図書館には、「JISハンドブック」はあったんですが…


以上いろいろ書きましたが、わかることだけで結構なんでお教えください。
(例えばJISのことはわからなくても、pdfファイルのこととか。)

最終的にしたいことは、
C言語の規格(日本語)が印刷されたものが手に入ればいい(自分で印刷するのでもOK)のですが、
どうすればよいでしょうか。

C言語の日本での規格はJIS X3010というものです。

http://www.jisc.go.jp/
日本工業標準調査会 というサイトの「データベース」で「X3010」で検索すると、「JIS詳細表示」というページが表示されまして、
X3010_01.pdfというPDFファイルがダウンロードできます。

(さきほどやってみたら、勝手にファイルを開こうとするようだ。Acrobat Reader...続きを読む

Aベストアンサー

ご希望の規格表は、下記URLで確認できました。
わたしは、いつもここから購入しました。

2行目の購入の仕方のページでpdfファイルの方をクリックすると注文書が表示されます。(アクロバットリーダーは必要です。リーダーは無料ですから入手しておくと便利です。)
それでファイル(F)>印刷(P)で印刷し、記入したらFAXで注文します。(これは印刷できそうです。)
私は、前に購入した時にもらった物を使用しましたが。
支払方法は、そこに記載がありますが指定できます。

私の場合は、時々業務で使用しましたので常時、予納金にしておきました。
在庫は、確認しておりませんので、一応電話で確認された方が良いかもしれません。

参考URL:http://www.jsa.or.jp/catalog/catalog09.asp,http://www.jsa.or.jp/catalog/jis_srch.asp

QもしAだったら100円、Cだったら150円・・・金額計算

Javascriptは初心者です。
今、合計金額を計算するJavascriptを組んでいます。

今できているのはこちらです。
http://ribbon.chu.jp/keisan.html

分からないところは、項目【オプション2】の
・Aを選択したら100円
・Cを選択したら150円  ・・・etc
の部分がどうしてもやり方がわかりません。

プルダウンメニューでもラジオボタンでも構わないのですが、
とにかく↑のような設定をしたいです。
ソースは見てくださって構いません。
力を貸していただけると幸いですm(__)m

Aベストアンサー

できればnameかidをつけてやるのが早道・・・
デフォルトでAが選択されているならoptionsのデフォ値は100
にしといた方がいいですね

<form>
<select onchange="this.form.elements["option2"].value=this.value">
<option value="100">A</option>
<option value="100">B</option>
<option value="150">C</option>
<option value="150">D</option>
</select>
<input type="text" size="8" value="100" name="option2"> 円</td>
</form>


人気Q&Aランキング

おすすめ情報