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(); } }
运行结果:
分析:
这种写法在编译时并不会报错,但在运行的时候会造成严重后果,即无参构造函数自身的循环调用,最终导致内存溢出。因此,在写类似的代码时要特别注意该情况的发生。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。