同一个类中静态代码块和main方法的执行顺序是怎么样的? 50
静态代码块是随着类的加载而执行,还是类加载结束后执行,main方法是在类加载时加载,还是结束时加载,它们是在加载时进入方法区中的静态区吗,同属静态区,它们的详细执行顺序是...
静态代码块是随着类的加载而执行,还是类加载结束后执行,main方法是在类加载时加载,还是结束时加载,它们是在加载时进入方法区中的静态区吗,同属静态区,它们的详细执行顺序是什么呢?
展开
1个回答
2016-12-11 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
Java静态代码块/静态属性、构造块、构造方法执行、main方法、普通代码块的顺序
这也是在笔试中的一个重要的考点,就有一个输出语句让你写出输出的结果。
理论知识:
静态代码块是:属于类的,在类加载时就自动执行。静态代码块定义时不能添加作用域符。
构造块是: 在类中定义的,且定义的位置与该类的其他的属性是相当的,就是不在该类的任何成员方法中,定义时直接用{ }包含即可,不用再添加其他任何的访问作用域符。构造块是每次创建对象都会执行一次构造块。
普通代码块:定义位置实在方法内部,在方法体内用 { } 包含即可。
下面给出测试的代码及测试结果,主要是查看执行的顺序,及多次创建对象时执行的顺序及结果。
这也是在笔试中的一个重要的考点,就有一个输出语句让你写出输出的结果。
理论知识:
静态代码块是:属于类的,在类加载时就自动执行。静态代码块定义时不能添加作用域符。
构造块是: 在类中定义的,且定义的位置与该类的其他的属性是相当的,就是不在该类的任何成员方法中,定义时直接用{ }包含即可,不用再添加其他任何的访问作用域符。构造块是每次创建对象都会执行一次构造块。
普通代码块:定义位置实在方法内部,在方法体内用 { } 包含即可。
下面给出测试的代码及测试结果,主要是查看执行的顺序,及多次创建对象时执行的顺序及结果。
追问
首先是编译class文件进方法区,然后在方法区为静态代码块和静态main方法分配一块静态区,之后main方法进栈区吗,class文件中的成员变量,成员方法此时在方法区哪个部分呢?
在吗?
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询