我有一个相当标准的创建模式,其中一个类公开了一个用于返回自身实例的静态方法,如下所示:
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
始终为空。我无法中断调用静态方法的行,调试器只是忽略它 - 发生了什么?
编辑:感谢您的建议。
- 所有项目都已清理和重建(在 NetBeans 中手动)
- 我在静态方法中添加了一个中断,不,它没有被击中。
- 是的,上面的代码(最终)在 Swing 'FrameView' 的构造函数中被调用,尽管我从哪里调用它肯定不重要,不是吗?
- 随地吞咽也不例外
旁注,除了缺少class
声明(这是一个错字)之外,为什么这不是有效的 Java?为什么这显然是C# 代码?解释会比投反对票更有帮助:)
编辑二:Params
只是应该表示一个完整的参数负载 - 对不起,如果这让任何人感到困惑,我显然知道参数有类型声明等等,上面的代码是一个快速的速记版本,而不是一个完整的和(复杂的)真实样本...