また、よろしくおねがいします。
あるインスンタンス(A)から別のクラスをnewしてインスタンス(B)を作成し
class A{
public A(){}
B b = new B();
public hoge(){
System.out.plintln("hoge");
}
}
class B{
public B(){}
A.hoge(); <<= ここから自クラスをnewしたAのhoge()を起動させたい
}
こんな風にnewされたB側からAのメソッドを動かしたいなんて場合は、どのようにするんでしょうか?
No.2ベストアンサー
- 回答日時:
もう一つ別の方法として、class Bをclass Aの内部クラスにしてしまうという方法があります。
class A {
class B {
public B() {}
void x() {
A.this.hoge(); // 内部クラスBのインスタンスからAのインスタンスメソッドを呼ぶ書き方
}
}
Aの実装以下略
}
No.1
- 回答日時:
一般論として、Bのインスタンスは自分をnewしたのが誰なのかを知る方法がありません。
どのAのインスタンスがnewしたのか、Bに教えてあげる必要があります。
class B {
private A oya;
public B(A a) {
oya = a;
}
}
AのインスタンスがBをnewするときには B b = new B(this); とします。
こうすればoya.hoge()のようにしてAのインスタンスメソッドを呼べます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Java java final 1 2022/06/10 22:49
- C言語・C++・C# クラスのメンバ変数を基準に並べ替えをしたい 5 2022/12/25 17:40
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- C言語・C++・C# PC画面を録画するプログラムでdllの読み込みエラー 1 2023/04/22 08:31
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Ruby No route matches [GET] "/posts/5/destroy" 1 2022/03/24 13:00
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
変数名の付け方
-
インスタンス参照でアクセスで...
-
フォームのCheck boxとOLEObjec...
-
String a = "a"; と String b =...
-
「インスタンス」の意味をわか...
-
SQLを連続発行する時の正しい(?...
-
カンマ区切りの数値文字列を数...
-
スレッドセーフについて
-
C#のメモリ解放についてご教授...
-
外部ライブラリの動的参照によ...
-
複数の変数を宣言する時、同時...
-
生成したインスタンスを削除す...
-
文字列を日付に変換でParseExce...
-
private static という変数の修飾
-
C# のインスタンスの破棄
-
C# インスタンスの破棄
-
エクセルVBAで、条件に一致する...
-
「エンクロージング型」と「外...
-
EXCEL VBAにて動的にCheckBOXを...
-
同じクラスにならない確率を教...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数名の付け方
-
インスタンス参照でアクセスで...
-
private static という変数の修飾
-
VB.NET getとsetの概念がわかり...
-
C# インスタンスの破棄
-
複数の変数を宣言する時、同時...
-
C#において、同じインスタンス...
-
生成したインスタンスを削除す...
-
SQLを連続発行する時の正しい(?...
-
文字列を日付に変換でParseExce...
-
変数の参照でエラーが出てしま...
-
エクセル(複数インスタンス)...
-
フォームの存在をチェックする方法
-
VB6.0で、DLLを動的に参照したい
-
String a = "a"; と String b =...
-
C#「オブジェクト参照が必要で...
-
newしないインスタンス?実体化...
-
「インスタンス」の意味をわか...
-
SetWindowsHookExで質問
-
フィールドでのnewとコンストラ...
おすすめ情報