No.4ベストアンサー
- 回答日時:
1.
VVV v = new AAA().xxx();
これは AAA クラスのインスタンスを生成した後そのまま xxx というメソッドを呼んでいます。
AAA a = new AAA();
VVV v = a.xxx();
とおなじです。
2.
AAA.BBB v = new AAA.BBB();
こちらは入れ子クラスのインスタンス生成です。
AAA クラスの中にある BBB クラスのインスタンスを生成します。
本題ではありませんが、「手法」と「文法」はきっちり区別された方がよいかと思います。今回の質問は手法ではなく文法に関する質問ですね。
No.3
- 回答日時:
ちょっと間違えました。
わかると思いますけど、newが2個重なっています。
以下が正しいです。
○○ oo = new ○○();
VVV qqq = oo.xxx();
No.2
- 回答日時:
「new ○○」とした時点ですでにインスタンスが生成されます。
生成したインスタンスを、変数に格納するかどうかは自由です。で、変数に格納せずともインスタンスは使用できます。ですので、インスタンスのメソッドにアクセスしているだけです。
VVV qqq = new ○○.xxx();
は、
○○ oo =new new ○○();
VVV qqq = oo.xxx();
という記述と等価で、ooというインスタンスをそれ以降使用しないために、変数への格納を省略した形といえます。
ちなみにNo1さんの内容は、デザインパターンにおけるシングルトンの説明であり、上記の話とは関係ないと思っていいです。少し勘違いをされただけだと思います。
No.1
- 回答日時:
こんな感じになってると思われます。
class ○○ {
public VVV xxx() {
return( new VVV() )
}
}
このような手法はいろんなパターンがありえると思うのですが以前私が経験したパターンの場合、以下のような感じでした。
ようはクラスZZZのインスタンスをシステムで一つしか持たせたくない場合です。
※しばらく離れていたので文法に多少間違いがあるかもしれません。ご容赦ください。
class ZZZ {
static private ZZZ m_zzz = null;
private ZZZ() {
//コンストラクタは外部からアクセス不可
}
static public ZZZ xxx() {
if( m_zzz == null ) {
m_zzz = new ZZZ();
}
return( m_zzz );
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
- UNIX・Linux bash のファイルの読み込み方についてご質問 3 2023/05/15 20:40
- Java インスタンス ダウンキャストについて以下の解釈であっているか教えて欲しいです。 サブクラスをスーパー 1 2022/03/27 18:53
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- Gmail Googleの連絡先を共有する方法があればアドバイス願います。 3 2023/03/30 11:11
- その他(パソコン・周辺機器) チャレンジタッチ3 改造 アプリインストールできない 1 2022/07/01 14:43
- Excel(エクセル) 別インスタンスのエクセルを制御したい 1 2023/05/10 02:03
- その他(IT・Webサービス) EXCELVBAでシートを他のブックにコピーする命令を出すと毎回存在しないシート名の問合わせがある 1 2022/05/07 15:12
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- 英語 hiring experience の意味について。 4 2022/07/25 16:21
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
生成したインスタンスを削除す...
-
変数名の付け方
-
複数の変数を宣言する時、同時...
-
private static という変数の修飾
-
インスタンス参照でアクセスで...
-
VB.NET getとsetの概念がわかり...
-
エクセル(複数インスタンス)...
-
インスタンスを同じ名前で作成...
-
外部ライブラリの動的参照によ...
-
他のファイルの変数参照
-
データベースから日付型を取得...
-
Eclipse3でVisualEditorが起動...
-
c++の課題で クラスのオブジェ...
-
VB.netで標準モジュールからフ...
-
newしないインスタンス?実体化...
-
javaのクラスの作り方、エラー...
-
C#「オブジェクト参照が必要で...
-
C#において、同じインスタンス...
-
VB6.0で、DLLを動的に参照したい
-
C# インスタンスの破棄
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数名の付け方
-
インスタンス参照でアクセスで...
-
複数の変数を宣言する時、同時...
-
private static という変数の修飾
-
VB.NET getとsetの概念がわかり...
-
C#において、同じインスタンス...
-
生成したインスタンスを削除す...
-
C# インスタンスの破棄
-
newしないインスタンス?実体化...
-
SQLを連続発行する時の正しい(?...
-
「インスタンス」の意味をわか...
-
文字列を日付に変換でParseExce...
-
変数の参照でエラーが出てしま...
-
フォームの存在をチェックする方法
-
javaのクラスの作り方、エラー...
-
オブジェクト参照がオブジェク...
-
String a = "a"; と String b =...
-
C#「オブジェクト参照が必要で...
-
エクセル(複数インスタンス)...
-
他のファイルの変数参照
おすすめ情報