第98章
大B:“1、构造器中一定不要创建自身的实例,否则会造成调用栈溢出错误。这个规则也适用于对象的实例变量,如果对象中有自身的引用,这个引用一定不能在定义中或者构造器中初始化。”
classa
aa=newa;
publica
a=newa;
小A:“在使用构造器中的要注意哪些事项?”
ab=newa;
大B:“以上三种情况都会造成栈溢出,这样会造成一个无穷递归的调用栈。2、如果父类是一个抽象类,那通过调用父类的构造器,也可以将它初始化,并且初始化其中的数据。3、如果你要在构造器中调用一个方法时,将该方法声明为private。对于这个规则是需要一些说明的,假使你的父类构造器中要调用一个非静态方法,而这个方法不是private的又被子类所重载,这样在实际创建子类的过程中递归调用到了父类的构造器时,父类构造器对这个方法的调用就会由于多态而实际上调用了子类的方法,当这个子类方法需要用到子类中实例变量的时候,就会由于变量没有初始化而出现异常(至于为什么子类中的实例变量没有初始化可以参考上边的实例初始化过程),这是Java不想看到的情况。而当父类构造器中调用的方法是一个private方法时,多态就不会出现,也就不会出现父类构造器调用子类方法的情况,这样可以保证父类始终调用自己的方法,即使这个方法中调用了父类中的实例变量也不会出现变量未初始化的情况(变量初始化总是在当前类构造器主体执行之前进行)。”
其他人正在读 :【凌皓】【凡人修仙:从废灵根开始】【成就魔尊,签到养成三百年】【明日方舟之铁与血】【养成系男神:听劝后,我成了顶流】【全能姐夫】【都市第一至尊】【陈浩苏雪】【绝地战龙凌皓】【从研发易筋经开始登临彼岸】【斗罗:人在绝世,赝品神灵】【我的弟子全是大帝之资】【理综挂科后我被迫屠龙了】【重生成汤姆猫,被女主人上交国家】【诸天影视从小欢喜乔卫东开始】【世界首富之我是股神】【娱乐探秘:我扮演小哥绝不塌房】【玄幻:我是大反派】【仙子的修行】【金丹是恒星,你管这叫修仙?】【直播鉴宝,我竟成了国宝级专家?】【欢喜少年:开局冲了醉酒宋倩】【斗破:阳帝】【绝世天龙】【七零大杂院小寡妇】【从三十而已开始的影视攻略】【克拉夫特异态学笔记】【影视:流窜在诸天的收集员】【神秘降临,我的污染愈发变态】【寄小读者】