- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Static数据的初始化(注意结合代码调试理解):
package com.initialization.order;class Bowl {?? Bowl(){??? System.out.println(Bowl(9));?? }?? Bowl(int marker) {???? System.out.println(Bowl( + marker + ));?? }??? static Bowl b6 = new Bowl(6);??? static Bowl b9 = new Bowl();???? ??? void f(int marker) {???? System.out.println(f( + marker + ));?? }?}
class Table {? static Bowl b1 = new Bowl(1);? Table() {??? System.out.println(Table());??? b2.f(1);? }? void f2(int marker) {??? System.out.println(f2( + marker + ));? }? static Bowl b2 = new Bowl(2);}class Cupboard {? Bowl b3 = new Bowl(3);?? Bowl b10 = new Bowl();? ? static Bowl b4 = new Bowl(4);? Cupboard() {??? System.out.println(Cupboard());??? b4.f(2);? }? void f3(int marker) {??? System.out.println(f3( + marker + ));? }? static Bowl b5 = new Bowl(5);}
public class StaticInitialization {?//static Bowl b7 = new Bowl(7);?????????????????????//----------(1)? public static void main(String[] args) {??? System.out.println(????? Creating new Cupboard() in main);??? new Cupboard();??? System.out.println(????? Creating new Cupboard() in main);??? new Cupboard();??? //t2.f2(1);?????????????????????????????????//--------------(2)??? //t3.f3(1);???????????????????????????????? //---------------(3)? }? //static Bowl b8 = new Bowl(8);? //----------------(4)? //static Table t2 = new Table();?? //----------------(5)? //static Cupboard t3 = new Cupboard();? //---------(6)} ///:~
调试以上代码,总结出以下结论:
一、初始化的过程:总体来说顺序为:static初始化-非static初始化-执行构造函数;二、代码分析一:对现有代码执行结果如下:Creating new Cupboard() in mainBowl(6)Bowl(9)Bowl(4)Bowl(5)Bowl(3)Bowl(9)Cupboard()f(2)Creating new Cupboard() in mainBowl(3)Bowl(9)Cupboard()f(2)执行过程:?????????1、java解释器寻找public class类,加载StaticInitialization?类;???????? 2、寻找StaticInitialization?类中的static定义代码段;这里因为(1)、(4)、(5)、(6)均加了注释,所以StaticInitialization?中没有static需要初始化;
???????? 3、进入main函数中执行代码输出Creating new Cupboard() in main;???????? 4、继续执行new Cupboard();,注意初始化的顺序是static初始化-非s
文档评论(0)