本帖最后由 sorryjsy 于 2015-12-20 10:43 编辑
- public class TestConstructor {
- public static void main(String[] args) {
- new Inner();
- }
- static class Inner {
- private Inner mInstance;
- public Inner() {
- mInstance = new Inner();
- }
- }
- }
复制代码 如上代码,在构造函数里创建自身对象的话,如果不加判断条件,会造成死循环,是不可以的。
但是如果加上判断条件,能够有效的终止代码而不死循环,使可以的。比如:
- public class TestConstructor {
-
- public static void main(String[] args) {
- new Inner();
- }
- static class Inner {
-
- private Inner mInstance;
-
- public Inner() {
- if(mInstance == null){
- mInstance = new Inner();
- }
- }
- }
- }
复制代码
|