关闭

Java一种错误的实例化方法:在默认无参构造函数中进行实例化

标签: java
1201人阅读 评论(1) 收藏 举报
分类:

Java一种错误的实例化方法:在默认无参构造函数中进行实例化

代码如下:

package Construction_test;

public class A {
	
	static int i=0;
	
	public A() {  //默认构造方法
		i++;
		System.out.println("---before--- " + i);
		A a2 =new A();   //实例的时候调用无惨构造方法
		System.out.println("---after---");
	}

	public static void main(String[] args) {
		
		A a1 =new A();
		
	}

}

运行结果:


分析:

这种写法在编译时并不会报错,但在运行的时候会造成严重后果,即无参构造函数自身的循环调用,最终导致内存溢出。因此,在写类似的代码时要特别注意该情况的发生。



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:348512次
    • 积分:5626
    • 等级:
    • 排名:第4877名
    • 原创:234篇
    • 转载:62篇
    • 译文:3篇
    • 评论:40条
    最新评论