次のように、クラスがそれ自体のインスタンスを返すための静的メソッドを公開する、かなり標準的な作成パターンがあります。
public class MyClass {
private MyClass(/*parameter list*/) {
// internal construction
}
public static MyClass GetMyClass(/*parameter list*/) {
return new MyClass(/*parameter list*/);
}
}
...
//this line wont break in the debugger and seemingly never gets called - why?
MyClass inst = MyClass.GetMyClass(/*parameter list*/);
ただし、inst
常に null です。静的メソッドを呼び出す行で中断できません。デバッガーはそれを無視します - 何が起こっているのですか?
編集:提案をありがとう。
- すべてのプロジェクトがクリーンアップされ、再構築されました (NetBeans で手動で)
- 静的メソッドにブレークを追加しましたが、ヒットしません。
- はい、上記のコードは Swing 'FrameView' のコンストラクターで (最終的に) 呼び出されていますが、これをどこから呼び出しているかは問題ではありません。
- どこでも飲み込むことは例外ではありません
補足として、欠落しているclass
宣言 (タイプミス) 以外に、なぜこれが有効な Java ではないのでしょうか? なぜこれは明らかにC# コードなのですか? 反対票よりも説明の方が役に立ちます:)
編集 II:Params
は、パラメーターの負荷全体を示すことになっています。これが誰かを混乱させた場合は申し訳ありません。パラメーターには型宣言などがあることは明らかです。上記のコードは、完全なおよび (複雑な) ではなく、簡単な省略形として意図されていました。実際のサンプル...