通过代码实例解析JAVA类生命周期

网友投稿 262 2022-11-24


通过代码实例解析JAVA类生命周期

代码

public class TestClass {

public static int k=0;

public static TestClass t1=new TestClass("t1");

public static TestClass t2=new TestClass("t2");

public static int i=print("i");

public static int n=99;

public int j=print("j");

{

print("构造块");

}

static {

print("静态块");

}

public TestClass(String str) {

System.out.println((++k)+""+str+"i="+i+"n="+n);

++n;

++i;

}

public static int print(String str){

System.out.println((++k) +":" + str + " i=" + i + " n=" + n);

++n;

return ++ i;

}

public static void main(String[] args){

System.out.println("=========start============");

TestClass t = new TestClass("inikzAynzJt");

System.out.println("=========end============");

}

}

执行结果

1:j i=0 n=0

2:构造块 i=1 n=1

3t1i=2n=2

4:j i=3 n=3

5:构造块 i=4 n=4

6t2i=5n=5

7:i i=6 n=6

8:静态块 i=7 n=99

=========start============

9:j i=8 n=100

10:构造块 i=9 n=101

11initi=10n=102

=========end============

讲解

代码由上到下 依次执行

由static修饰的变量或方法是在方法区,属于类变量、类方法

new对象这个操作,new出来的对象在堆里 对象的引用在栈里

new出来的对象 方法快先构造方法执行


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何基于Idea远程调试tomcat war包及jar包
下一篇:idea中开启Run Dashboard 和 快速复制项目并改变端口的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~