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

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();}}

运行结果:


分析:

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




本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部